var OGVDemuxerOgg
(function() {
  var scriptSrc;
  if (typeof document !== 'undefined' && document.currentScript) scriptSrc = document.currentScript.src;
OGVDemuxerOgg = function(OGVDemuxerOgg) {
  OGVDemuxerOgg = OGVDemuxerOgg || {};
  if (!OGVDemuxerOgg.currentScriptUrl) OGVDemuxerOgg.currentScriptUrl = scriptSrc;
  var Module = OGVDemuxerOgg;

var options=Module;Module={print:(function(str){console.log(str)})};if(typeof OGVLoader!=="undefined"){Module["pthreadMainPrefixURL"]=OGVLoader.base+"/"}if(options["memoryLimit"]&&!options.wasmBinary){Module["TOTAL_MEMORY"]=options["memoryLimit"]}for(option in options){if(options.hasOwnProperty(option)){Module[option]=options[option]}}var Math_imul_orig=Math.imul;var OGVDemuxerOgg=Module;var Module;if(!Module)Module=(typeof OGVDemuxerOgg!=="undefined"?OGVDemuxerOgg:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else if(Module["ENVIRONMENT"]==="PTHREAD"){ENVIRONMENT_IS_WORKER=true;ENVIRONMENT_IS_PTHREAD=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+TOTAL_MEMORY+", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+7216;__ATINIT__.push();allocate([0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,229,9,0,0,7,0,0,0,237,9,0,0,1,0,0,0,1,0,0,0,2,0,0,0,244,9,0,0,7,0,0,0,252,9,0,0,3,0,0,0,2,0,0,0,4,0,0,0,3,10,0,0,5,0,0,0,3,10,0,0,5,0,0,0,3,0,0,0,0,0,0,0,9,10,0,0,8,0,0,0,18,10,0,0,6,0,0,0,0,0,0,0,0,0,0,0,22,10,0,0,8,0,0,0,31,10,0,0,7,0,0,0,0,0,0,0,0,0,0,0,36,10,0,0,7,0,0,0,36,10,0,0,8,0,0,0,0,0,0,0,0,0,0,0,44,10,0,0,7,0,0,0,52,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,61,10,0,0,4,0,0,0,66,10,0,0,10,0,0,0,4,0,0,0,0,0,0,0,72,10,0,0,5,0,0,0,78,10,0,0,11,0,0,0,4,0,0,0,0,0,0,0,83,10,0,0,7,0,0,0,83,10,0,0,12,0,0,0,0,0,0,0,0,0,0,0,91,10,0,0,8,0,0,0,100,10,0,0,13,0,0,0,5,0,0,0,0,0,0,0,105,10,0,0,8,0,0,0,114,10,0,0,14,0,0,0,0,0,0,0,0,0,0,0,119,10,0,0,5,0,0,0,125,10,0,0,15,0,0,0,0,0,0,0,0,0,0,0,131,10,0,0,8,0,0,0,140,10,0,0,16,0,0,0,6,0,0,0,17,0,0,0,145,10,0,0,5,0,0,0,151,10,0,0,18,0,0,0,7,0,0,0,0,0,0,0,36,24,0,0,0,0,0,0,155,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,1,0,0,192,3,0,0,128,7,0,0,64,11,0,0,224,1,0,0,192,3,0,0,128,7,0,0,64,11,0,0,224,1,0,0,192,3,0,0,128,7,0,0,64,11,0,0,224,1,0,0,192,3,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,120,0,0,0,240,0,0,0,224,1,0,0,192,3,0,0,128,2,0,0,204,1,0,0,24,0,0,0,1,0,0,0,176,0,0,0,120,0,0,0,96,1,0,0,240,0,0,0,96,1,0,0,32,1,0,0,192,2,0,0,224,1,0,0,192,2,0,0,64,2,0,0,208,2,0,0,224,1,0,0,208,2,0,0,64,2,0,0,0,5,0,0,208,2,0,0,0,5,0,0,208,2,0,0,128,7,0,0,56,4,0,0,128,7,0,0,56,4,0,0,128,7,0,0,56,4,0,0,128,7,0,0,56,4,0,0,0,8,0,0,56,4,0,0,0,16,0,0,112,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,9,0,0,0,10,0,0,0,9,0,0,0,10,0,0,0,9,0,0,0,10,0,0,0,4,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,1,0,0,0,1,0,0,0,192,93,0,0,233,3,0,0,24,0,0,0,1,0,0,0,25,0,0,0,1,0,0,0,48,117,0,0,233,3,0,0,30,0,0,0,1,0,0,0,50,0,0,0,1,0,0,0,96,234,0,0,233,3,0,0,60,0,0,0,1,0,0,0,152,58,0,0,233,3,0,0,25,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,45,24,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,9,0,0,79,103,103,83,0,128,116,104,101,111,114,97,0,84,104,101,111,114,97,0,1,118,111,114,98,105,115,0,86,111,114,98,105,115,0,83,112,101,101,120,0,80,67,77,32,32,32,32,32,0,80,67,77,0,67,77,77,76,0,0,0,0,0,67,77,77,76,0,65,110,110,111,100,101,120,0,102,105,115,104,101,97,100,0,83,107,101,108,101,116,111,110,0,102,76,97,67,0,70,108,97,99,48,0,127,70,76,65,67,0,70,108,97,99,0,65,110,120,68,97,116,97,0,67,69,76,84,32,32,32,32,0,67,69,76,84,0,128,107,97,116,101,0,0,0,0,75,97,116,101,0,66,66,67,68,0,0,68,105,114,97,99,0,79,112,117,115,72,101,97,100,0,79,112,117,115,0,79,86,80,56,48,0,86,80,56,0,85,110,107,110,111,119,110,0,86,80,56,48,0,3,118,111,114,98,105,115,0,129,116,104,101,111,114,97,0,129,107,97,116,101,0,0,0,0,79,112,117,115,84,97,103,115,0,79,86,80,56,48,2,32,0,102,105,115,98,111,110,101,0,0,102,105,115,104,101,97,100,0,0,105,110,100,101,120,0,0,66,117,102,102,101,114,32,115,101,101,107,32,102,97,105,108,117,114,101,32,105,110,32,111,103,103,32,100,101,109,117,120,101,114,59,32,37,108,108,100,32,40,37,108,100,32,37,100,41,10,0,116,104,101,111,114,97,0,118,111,114,98,105,115,0,111,112,117,115,0,73,110,118,97,108,105,100,32,111,103,103,32,115,107,101,108,101,116,111,110,32,116,114,97,99,107,32,100,97,116,97,63,32,37,100,10,0,73,110,118,97,108,105,100,32,115,116,97,116,101,32,105,110,32,79,103,103,32,114,101,97,100,80,97,99,107,101,116,67,97,108,108,98,97,99,107,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,115,107,101,108,101,116,111,110,32,112,97,99,107,101,116,58,32,37,100,10,0,69,114,114,111,114,32,37,100,32,102,114,111,109,32,111,103,103,122,95,114,101,97,100,10,0,70,97,105,108,101,100,32,116,111,32,39,115,101,101,107,39,32,111,103,103,122,32,37,100,10,0,116,114,121,105,110,103,32,116,111,32,115,101,101,107,32,116,111,32,37,108,108,100,10,0,102,97,105,108,101,100,32,98,113,95,114,101,97,100,32,108,101,110,32,37,100,32,97,116,32,112,111,115,32,37,108,108,100,10,0,102,97,105,108,101,100,32,97,32,98,113,95,114,101,97,100,32,108,101,110,32,37,100,32,97,116,32,112,111,115,32,37,108,108,100,10,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_bitshift64Ashr"]=_bitshift64Ashr;function _ogvjs_callback_loaded_metadata(videoCodecStr,audioCodecStr){if(videoCodecStr){Module.videoCodec=Module.Pointer_stringify(videoCodecStr)}if(audioCodecStr){Module.audioCodec=Module.Pointer_stringify(audioCodecStr)}var len=Module._ogv_demuxer_media_duration();if(len>=0){Module.duration=len}else{Module.duration=NaN}Module.loadedMetadata=true}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;Module["_memset"]=_memset;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___divdi3"]=___divdi3;var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___lock(){}function ___unlock(){}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;function _ogvjs_callback_audio_packet(buffer,len,audioTimestamp){Module.audioPackets.push({data:Module.HEAPU8.buffer.slice?Module.HEAPU8.buffer.slice(buffer,buffer+len):(new Uint8Array(new Uint8Array(Module.HEAPU8.buffer,buffer,len))).buffer,timestamp:audioTimestamp})}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;Module["_memmove"]=_memmove;function _ogvjs_callback_video_packet(buffer,len,frameTimestamp,keyframeTimestamp,isKeyframe){Module.videoPackets.push({data:Module.HEAPU8.buffer.slice?Module.HEAPU8.buffer.slice(buffer,buffer+len):(new Uint8Array(new Uint8Array(Module.HEAPU8.buffer,buffer,len))).buffer,timestamp:frameTimestamp,keyframeTimestamp:keyframeTimestamp,isKeyframe:!!isKeyframe})}Module["___uremdi3"]=___uremdi3;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_ii":invoke_ii,"invoke_iiiii":invoke_iiiii,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"_ogvjs_callback_loaded_metadata":_ogvjs_callback_loaded_metadata,"___syscall3":___syscall3,"___lock":___lock,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___unlock":___unlock,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall54":___syscall54,"_ogvjs_callback_audio_packet":_ogvjs_callback_audio_packet,"___syscall140":___syscall140,"___syscall146":___syscall146,"_ogvjs_callback_video_packet":_ogvjs_callback_video_packet,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_iiii;var aa=env.invoke_vi;var ba=env.invoke_ii;var ca=env.invoke_iiiii;var da=env.invoke_iii;var ea=env.invoke_iiiiii;var fa=env._ogvjs_callback_loaded_metadata;var ga=env.___syscall3;var ha=env.___lock;var ia=env.___syscall6;var ja=env.___setErrNo;var ka=env._abort;var la=env.___unlock;var ma=env._emscripten_memcpy_big;var na=env.___syscall54;var oa=env._ogvjs_callback_audio_packet;var pa=env.___syscall140;var qa=env.___syscall146;var ra=env._ogvjs_callback_video_packet;var sa=0.0;
// EMSCRIPTEN_START_FUNCS
function za(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Aa(){return l|0}function Ba(a){a=a|0;l=a}function Ca(a,b){a=a|0;b=b|0;l=a;m=b}function Da(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Ea(a){a=a|0;D=a}function Fa(){return D|0}function Ga(b){b=b|0;return a[(c[b>>2]|0)+5>>0]&1|0}function Ha(b){b=b|0;return a[(c[b>>2]|0)+5>>0]&2|0}function Ia(a){a=a|0;var b=0,e=0;b=c[a>>2]|0;a=Of(d[b+13>>0]|0|0,0,8)|0;e=Of(a|(d[b+12>>0]|0)|0,D|0,8)|0;a=Of(e|(d[b+11>>0]|0)|0,D|0,8)|0;e=Of(a|(d[b+10>>0]|0)|0,D|0,8)|0;a=Of(e|(d[b+9>>0]|0)|0,D|0,8)|0;e=Of(a|(d[b+8>>0]|0)|0,D|0,8)|0;a=Of(e|(d[b+7>>0]|0)|0,D|0,8)|0;return a|(d[b+6>>0]|0)|0}function Ja(a){a=a|0;var b=0;b=c[a>>2]|0;return (d[b+15>>0]|0)<<8|(d[b+14>>0]|0)|(d[b+16>>0]|0)<<16|(d[b+17>>0]|0)<<24|0}function Ka(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a){d=-1;return d|0}Mf(a+8|0,0,352)|0;c[a+4>>2]=16384;c[a+24>>2]=1024;e=Cf(16384)|0;c[a>>2]=e;f=Cf(4096)|0;g=a+16|0;c[g>>2]=f;h=Cf(8192)|0;i=a+20|0;c[i>>2]=h;do if(!e){j=f;k=f}else{if((h|0)==0|(f|0)==0){Df(e);l=c[g>>2]|0;j=l;k=l;break}c[a+336>>2]=b;d=0;return d|0}while(0);if(j|0)Df(k);k=c[i>>2]|0;if(k|0)Df(k);Mf(a|0,0,360)|0;d=-1;return d|0}function La(a){a=a|0;var b=0;if(!a)return 0;b=c[a>>2]|0;if(b|0)Df(b);b=c[a+16>>2]|0;if(b|0)Df(b);b=c[a+20>>2]|0;if(b|0)Df(b);Mf(a|0,0,360)|0;return 0}function Ma(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+24|0;e=c[d>>2]|0;if((e-b|0)>(c[a+28>>2]|0)){f=0;return f|0}if((e|0)>(2147483647-b|0)){g=c[a>>2]|0;if(g|0)Df(g);g=c[a+16>>2]|0;if(g|0)Df(g);g=c[a+20>>2]|0;if(g|0)Df(g);Mf(a|0,0,360)|0;f=-1;return f|0}g=e+b|0;b=(g|0)<2147483615?g+32|0:g;g=a+16|0;e=Ff(c[g>>2]|0,b<<2)|0;if(!e){h=c[a>>2]|0;if(h|0)Df(h);h=c[g>>2]|0;if(h|0)Df(h);h=c[a+20>>2]|0;if(h|0)Df(h);Mf(a|0,0,360)|0;f=-1;return f|0}c[g>>2]=e;e=a+20|0;h=Ff(c[e>>2]|0,b<<3)|0;if(h|0){c[e>>2]=h;c[d>>2]=b;f=0;return f|0}b=c[a>>2]|0;if(b|0)Df(b);b=c[g>>2]|0;if(b|0)Df(b);b=c[e>>2]|0;if(b|0)Df(b);Mf(a|0,0,360)|0;f=-1;return f|0}function Na(a){a=a|0;if(!a)return 0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return 0}function Oa(a){a=a|0;var b=0;if(!a)return 0;b=c[a>>2]|0;if(b|0)Df(b);c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return 0}function Pa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;e=c[d>>2]|0;if((e|0)<=-1){f=0;return f|0}g=a+12|0;h=c[g>>2]|0;i=a+8|0;if(!h)j=e;else{k=(c[i>>2]|0)-h|0;c[i>>2]=k;if((k|0)>0){l=c[a>>2]|0;Xf(l|0,l+h|0,k|0)|0;m=c[d>>2]|0}else m=e;c[g>>2]=0;j=m}m=c[i>>2]|0;do if((j-m|0)<(b|0)){g=b+4096+m|0;e=c[a>>2]|0;if(!e)n=Cf(g)|0;else n=Ff(e,g)|0;if(n|0){c[a>>2]=n;c[d>>2]=g;o=n;p=c[i>>2]|0;break}g=c[a>>2]|0;if(g|0)Df(g);c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;f=0;return f|0}else{o=c[a>>2]|0;p=m}while(0);f=o+p|0;return f|0}function Qa(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+4>>2]|0;if((d|0)<=-1){e=-1;return e|0}f=a+8|0;a=(c[f>>2]|0)+b|0;if((a|0)>(d|0)){e=-1;return e|0}c[f>>2]=a;e=0;return e|0}function Ra(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=l;l=l+16|0;g=f;h=c[b>>2]|0;i=b+12|0;j=c[i>>2]|0;k=h+j|0;m=b+8|0;n=(c[m>>2]|0)-j|0;if((c[b+4>>2]|0)<=-1){o=0;l=f;return o|0}j=b+20|0;p=c[j>>2]|0;do if(!p){if((n|0)<27){o=0;l=f;return o|0}if(De(k,2528,4)|0){q=h;r=b+24|0;break}s=k+26|0;t=a[s>>0]|0;u=(t&255)+27|0;if((n|0)<(u|0)){o=0;l=f;return o|0}if(t<<24>>24){t=b+24|0;v=c[t>>2]|0;w=0;do{v=v+(d[k+(w+27)>>0]|0)|0;c[t>>2]=v;w=w+1|0}while((w|0)<(d[s>>0]|0|0))}c[j>>2]=u;x=u;y=11}else{x=p;y=11}while(0);do if((y|0)==11){p=b+24|0;if((x+(c[p>>2]|0)|0)>(n|0)){o=0;l=f;return o|0}h=k+22|0;s=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[g>>2]=s;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;w=c[j>>2]|0;v=k+w|0;t=c[p>>2]|0;z=k+23|0;A=k+24|0;B=k+25|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;if((w|0)>0){C=0;D=0;while(1){E=c[8+(((d[k+D>>0]|0)^C>>>24)<<2)>>2]^C<<8;D=D+1|0;if((D|0)==(w|0)){F=E;break}else C=E}}else F=0;C=F>>>24;if((t|0)>0){w=F;D=0;u=C;while(1){E=c[8+(((d[v+D>>0]|0)^u)<<2)>>2]^w<<8;D=D+1|0;G=E>>>24;if((D|0)==(t|0)){H=E;I=G;break}else{w=E;u=G}}}else{H=F;I=C}a[h>>0]=H;a[z>>0]=H>>>8;a[A>>0]=H>>>16;a[B>>0]=I;if(De(g,h,4)|0){a[h>>0]=s;a[h+1>>0]=s>>8;a[h+2>>0]=s>>16;a[h+3>>0]=s>>24;q=c[b>>2]|0;r=p;break}u=c[i>>2]|0;w=(c[b>>2]|0)+u|0;t=c[j>>2]|0;D=c[p>>2]|0;if(e|0){c[e>>2]=w;c[e+4>>2]=t;c[e+8>>2]=w+t;c[e+12>>2]=D}c[b+16>>2]=0;w=D+t|0;c[i>>2]=w+u;c[j>>2]=0;c[p>>2]=0;o=w;l=f;return o|0}while(0);c[j>>2]=0;c[r>>2]=0;r=Pe(k+1|0,79,n+-1|0)|0;if(!r)J=q+(c[m>>2]|0)|0;else J=r;r=J;c[i>>2]=r-q;o=k-r|0;l=f;return o|0}function Sa(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0;f=c[e>>2]|0;g=c[e+8>>2]|0;h=c[e+12>>2]|0;e=a[f+4>>0]|0;i=a[f+5>>0]|0;j=i&1;k=i&2;l=i&4;i=Of(d[f+13>>0]|0|0,0,8)|0;m=Of(i|(d[f+12>>0]|0)|0,D|0,8)|0;i=Of(m|(d[f+11>>0]|0)|0,D|0,8)|0;m=Of(i|(d[f+10>>0]|0)|0,D|0,8)|0;i=Of(m|(d[f+9>>0]|0)|0,D|0,8)|0;m=Of(i|(d[f+8>>0]|0)|0,D|0,8)|0;i=Of(m|(d[f+7>>0]|0)|0,D|0,8)|0;m=D;n=i|(d[f+6>>0]|0);i=(d[f+15>>0]|0)<<8|(d[f+14>>0]|0)|(d[f+16>>0]|0)<<16|(d[f+17>>0]|0)<<24;o=(d[f+19>>0]|0)<<8|(d[f+18>>0]|0)|(d[f+20>>0]|0)<<16|(d[f+21>>0]|0)<<24;p=a[f+26>>0]|0;q=p&255;if(!b){r=-1;return r|0}s=c[b>>2]|0;if(!s){r=-1;return r|0}t=b+36|0;u=c[t>>2]|0;v=b+12|0;w=c[v>>2]|0;if(w|0){x=b+8|0;y=(c[x>>2]|0)-w|0;c[x>>2]=y;if(y|0)Xf(s|0,s+w|0,y|0)|0;c[v>>2]=0}if(u|0){v=b+28|0;y=c[v>>2]|0;w=y-u|0;if(!w)z=y;else{y=c[b+16>>2]|0;Xf(y|0,y+(u<<2)|0,w<<2|0)|0;w=c[b+20>>2]|0;Xf(w|0,w+(u<<3)|0,(c[v>>2]|0)-u<<3|0)|0;z=c[v>>2]|0}c[v>>2]=z-u;z=b+32|0;c[z>>2]=(c[z>>2]|0)-u;c[t>>2]=0}if(e<<24>>24?1:(i|0)!=(c[b+336>>2]|0)){r=-1;return r|0}if(Ma(b,q+1|0)|0){r=-1;return r|0}i=b+340|0;e=c[i>>2]|0;if((o|0)!=(e|0)){t=b+32|0;u=c[t>>2]|0;z=b+28|0;v=c[z>>2]|0;if((u|0)<(v|0)){w=c[b+16>>2]|0;y=b+8|0;s=u;x=c[y>>2]|0;do{x=x-(c[w+(s<<2)>>2]&255)|0;s=s+1|0}while((s|0)<(v|0));c[y>>2]=x}c[z>>2]=u;if((e|0)!=-1){e=c[b+16>>2]|0;x=u+1|0;c[z>>2]=x;c[e+(u<<2)>>2]=1024;c[t>>2]=x}}a:do if(j<<24>>24){x=c[b+28>>2]|0;if((x|0)>=1?(c[(c[b+16>>2]|0)+(x+-1<<2)>>2]|0)!=1024:0){A=g;B=h;C=k;E=0;break}if(!(p<<24>>24)){A=g;B=h;C=0;E=0}else{x=g;t=h;u=0;while(1){e=a[f+(u+27)>>0]|0;z=e&255;y=x+z|0;v=t-z|0;z=e<<24>>24==-1;e=((z^1)&1)+u|0;if(!z){A=y;B=v;C=0;E=e;break a}z=e+1|0;if((z|0)<(q|0)){x=y;t=v;u=z}else{A=y;B=v;C=0;E=z;break}}}}else{A=g;B=h;C=k;E=0}while(0);if(B|0){k=b+4|0;h=c[k>>2]|0;g=b+8|0;p=c[g>>2]|0;do if((h-B|0)>(p|0)){F=c[b>>2]|0;G=p}else{if((h|0)>(2147483647-B|0)){j=c[b>>2]|0;if(j|0)Df(j);j=c[b+16>>2]|0;if(j|0)Df(j);j=c[b+20>>2]|0;if(j|0)Df(j);Mf(b|0,0,360)|0;r=-1;return r|0}j=h+B|0;u=(j|0)<2147482623?j+1024|0:j;j=Ff(c[b>>2]|0,u)|0;if(j|0){c[k>>2]=u;c[b>>2]=j;F=j;G=c[g>>2]|0;break}j=c[b>>2]|0;if(j|0)Df(j);j=c[b+16>>2]|0;if(j|0)Df(j);j=c[b+20>>2]|0;if(j|0)Df(j);Mf(b|0,0,360)|0;r=-1;return r|0}while(0);Wf(F+G|0,A|0,B|0)|0;c[g>>2]=(c[g>>2]|0)+B}B=b+16|0;g=b+28|0;A=b+20|0;G=b+32|0;F=C;C=-1;k=E;b:while(1){E=F;h=k;while(1){if((h|0)>=(q|0))break b;p=a[f+(h+27)>>0]|0;j=p&255;H=c[g>>2]|0;u=(c[B>>2]|0)+(H<<2)|0;c[u>>2]=j;t=(c[A>>2]|0)+(H<<3)|0;c[t>>2]=-1;c[t+4>>2]=-1;if(E|0)c[u>>2]=j|256;I=H+1|0;c[g>>2]=I;h=h+1|0;if(p<<24>>24!=-1)break;else E=0}c[G>>2]=I;F=0;C=H;k=h}if((C|0)!=-1){k=(c[A>>2]|0)+(C<<3)|0;c[k>>2]=n;c[k+4>>2]=m}if(l<<24>>24?(c[b+328>>2]=1,b=c[g>>2]|0,(b|0)>0):0){g=(c[B>>2]|0)+(b+-1<<2)|0;c[g>>2]=c[g>>2]|512}c[i>>2]=o+1;r=0;return r|0}function Ta(a){a=a|0;var b=0,d=0;if((c[a+4>>2]|0)<=-1){b=-1;return b|0}d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;b=0;return b|0}function Ua(a){a=a|0;var b=0,d=0;if(!a){b=-1;return b|0}if(!(c[a>>2]|0)){b=-1;return b|0}c[a+8>>2]=0;c[a+12>>2]=0;c[a+28>>2]=0;c[a+32>>2]=0;c[a+36>>2]=0;c[a+324>>2]=0;c[a+328>>2]=0;c[a+332>>2]=0;c[a+340>>2]=-1;d=a+344|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;b=0;return b|0}function Va(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;if(!a){d=0;return d|0}e=c[a>>2]|0;if(!e){d=0;return d|0}f=a+36|0;g=c[f>>2]|0;if((c[a+32>>2]|0)<=(g|0)){d=0;return d|0}h=c[a+16>>2]|0;i=c[h+(g<<2)>>2]|0;if(i&1024|0){c[f>>2]=g+1;j=a+344|0;k=j;l=Lf(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;k=j;c[k>>2]=l;c[k+4>>2]=D;d=-1;return d|0}k=(b|0)==0;l=i&255;j=i&512;m=i&256;if((l|0)==255){i=255;n=j;o=g;while(1){p=o+1|0;q=c[h+(p<<2)>>2]|0;r=q&255;s=(q&512|0)==0?n:512;q=r+i|0;if((r|0)==255){i=q;n=s;o=p}else{t=q;u=s;v=p;break}}}else{t=l;u=j;v=g}if(k){k=a+12|0;g=a+344|0;j=g;w=c[k>>2]|0;x=c[j>>2]|0;y=c[j+4>>2]|0;z=k;A=g}else{c[b+12>>2]=u;c[b+8>>2]=m;m=a+12|0;u=c[m>>2]|0;c[b>>2]=e+u;e=a+344|0;g=e;k=c[g>>2]|0;j=c[g+4>>2]|0;g=b+24|0;c[g>>2]=k;c[g+4>>2]=j;g=(c[a+20>>2]|0)+(v<<3)|0;a=c[g+4>>2]|0;l=b+16|0;c[l>>2]=c[g>>2];c[l+4>>2]=a;c[b+4>>2]=t;w=u;x=k;y=j;z=m;A=e}c[z>>2]=w+t;c[f>>2]=v+1;v=Lf(x|0,y|0,1,0)|0;y=A;c[y>>2]=v;c[y+4>>2]=D;d=1;return d|0}function Wa(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=l;l=l+48|0;j=i+40|0;k=i+36|0;m=i+32|0;n=i+28|0;o=i+24|0;p=i+16|0;q=i+12|0;r=i+8|0;s=i+4|0;t=i+44|0;u=i;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[i+20>>2]=h;c[p>>2]=c[n>>2];a[t>>0]=0;if((c[o>>2]|0)<41){c[j>>2]=0;v=c[j>>2]|0;l=i;return v|0}c[q>>2]=(d[(c[p>>2]|0)+7>>0]<<16)+(d[(c[p>>2]|0)+8>>0]<<8)+(d[(c[p>>2]|0)+9>>0]|0);c[r>>2]=tb((c[p>>2]|0)+22|0)|0;c[s>>2]=tb((c[p>>2]|0)+26|0)|0;if(!(c[r>>2]|0))c[r>>2]=1;a[t>>0]=(d[(c[p>>2]|0)+40>>0]&3)<<3;a[t>>0]=a[t>>0]|(d[(c[p>>2]|0)+41>>0]&224)>>5;c[u>>2]=a[t>>0];t=c[k>>2]|0;p=c[m>>2]|0;o=c[r>>2]|0;r=c[s>>2]|0;s=Uf(1e3,0,r|0,((r|0)<0)<<31>>31|0)|0;ub(t,p,o,((o|0)<0)<<31>>31,s,D)|0;vb(c[k>>2]|0,c[m>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<197120)Jb(c[k>>2]|0,c[m>>2]|0,-1,-1)|0;wb(c[k>>2]|0,c[m>>2]|0,3)|0;c[j>>2]=1;v=c[j>>2]|0;l=i;return v|0}function Xa(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=l;l=l+48|0;i=h+8|0;j=h;k=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+36|0;q=h+16|0;r=j;c[r>>2]=b;c[r+4>>2]=e;c[k>>2]=f;c[m>>2]=g;if(!(c[(c[m>>2]|0)+4>>2]|0))s=64;else s=d[c[c[m>>2]>>2]>>0]|0;a[p>>0]=s;c[q>>2]=c[(c[k>>2]|0)+504>>2];a:do if(!((d[p>>0]|0)&128|0)){s=j;m=c[s+4>>2]|0;if((m|0)>-1|(m|0)==-1&(c[s>>2]|0)>>>0>4294967295){c[c[q>>2]>>2]=1;s=j;m=c[s+4>>2]|0;g=i;c[g>>2]=c[s>>2];c[g+4>>2]=m;break}m=(c[k>>2]|0)+488|0;g=c[q>>2]|0;if((c[m>>2]|0)==-1?(c[m+4>>2]|0)==-1:0){c[g>>2]=1;m=i;c[m>>2]=-1;c[m+4>>2]=-1;break}if(!(c[g>>2]|0)){c[c[q>>2]>>2]=1;g=i;c[g>>2]=-1;c[g+4>>2]=-1;break}g=c[k>>2]|0;if((d[p>>0]|0)&64|0){m=g+488|0;s=Lf(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;m=i;c[m>>2]=s;c[m+4>>2]=D;break}else{c[o>>2]=c[g+408>>2];g=(c[k>>2]|0)+488|0;m=Jf(c[g>>2]|0,c[g+4>>2]|0,c[o>>2]|0)|0;c[n>>2]=m;m=(c[k>>2]|0)+488|0;g=(1<<c[o>>2])-1|0;s=Lf(c[m>>2]&g|0,c[m+4>>2]&((g|0)<0)<<31>>31|0,1,0)|0;g=c[n>>2]|0;m=Lf(g|0,((g|0)<0)<<31>>31|0,s|0,D|0)|0;c[n>>2]=m;m=c[n>>2]|0;s=Of(m|0,((m|0)<0)<<31>>31|0,c[o>>2]|0)|0;m=i;c[m>>2]=s;c[m+4>>2]=D;break}}else{do if(!(c[q>>2]|0)){m=Cf(4)|0;c[(c[k>>2]|0)+504>>2]=m;if(!(c[(c[k>>2]|0)+504>>2]|0)){m=i;c[m>>2]=-1;c[m+4>>2]=-1;break a}else{c[q>>2]=c[(c[k>>2]|0)+504>>2];break}}while(0);c[c[q>>2]>>2]=0;m=i;c[m>>2]=0;c[m+4>>2]=0}while(0);q=i;D=c[q+4>>2]|0;l=h;return c[q>>2]|0}function Ya(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=l;l=l+48|0;h=g+8|0;i=g;j=g+32|0;k=g+20|0;m=g+16|0;n=i;c[n>>2]=a;c[n+4>>2]=b;c[j>>2]=d;c[g+28>>2]=e;c[g+24>>2]=f;f=i;e=Jf(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+408>>2]|0)|0;c[k>>2]=e;e=i;i=c[k>>2]<<c[(c[j>>2]|0)+408>>2];f=Kf(c[e>>2]|0,c[e+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[m>>2]=f;f=c[k>>2]|0;if(!(c[m>>2]|0)){k=(f-60<<c[(c[j>>2]|0)+408>>2])+59|0;i=h;c[i>>2]=k;c[i+4>>2]=((k|0)<0)<<31>>31;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;D=t;l=g;return q|0}else{k=Of(f|0,((f|0)<0)<<31>>31|0,c[(c[j>>2]|0)+408>>2]|0)|0;j=(c[m>>2]|0)-1|0;m=Lf(k|0,D|0,j|0,((j|0)<0)<<31>>31|0)|0;j=h;c[j>>2]=m;c[j+4>>2]=D;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;D=t;l=g;return q|0}return 0}function Za(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;g=l;l=l+48|0;h=g+32|0;i=g+28|0;j=g+24|0;k=g+20|0;m=g+16|0;n=g+8|0;o=g;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g+12>>2]=f;c[n>>2]=c[k>>2];k=o;c[k>>2]=0;c[k+4>>2]=0;if((c[m>>2]|0)<30){c[h>>2]=0;p=c[h>>2]|0;l=g;return p|0}else{m=Qb((c[n>>2]|0)+12|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;m=o;ub(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;Tb(c[i>>2]|0,c[j>>2]|0,2)|0;wb(c[i>>2]|0,c[j>>2]|0,3)|0;c[h>>2]=1;p=c[h>>2]|0;l=g;return p|0}return 0}function _a(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;g=l;l=l+96|0;h=g+16|0;i=g+8|0;j=g+80|0;k=g+76|0;m=g+72|0;n=g+68|0;o=g+64|0;p=g+60|0;q=g+56|0;r=g+52|0;s=g+48|0;t=g+44|0;u=g+40|0;v=g+36|0;w=g+32|0;x=g+28|0;y=g+24|0;z=g;A=i;c[A>>2]=a;c[A+4>>2]=b;c[j>>2]=e;c[k>>2]=f;f=c[c[k>>2]>>2]|0;if(!(c[(c[j>>2]|0)+504>>2]|0)){c[p>>2]=1<<((d[f+28>>0]|0)>>4);c[o>>2]=1<<((d[(c[c[k>>2]>>2]|0)+28>>0]|0)&15);e=Cf(44)|0;c[(c[j>>2]|0)+504>>2]=e;if(!(c[(c[j>>2]|0)+504>>2]|0)){e=h;c[e>>2]=-1;c[e+4>>2]=-1;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}else{c[m>>2]=c[(c[j>>2]|0)+504>>2];c[(c[m>>2]|0)+12>>2]=c[p>>2]>>1;c[(c[m>>2]|0)+8>>2]=((c[p>>2]>>2)*3|0)-(c[o>>2]>>2);c[(c[m>>2]|0)+4>>2]=(c[p>>2]>>2)+(c[o>>2]>>2);c[c[m>>2]>>2]=c[(c[m>>2]|0)+12>>2];c[(c[m>>2]|0)+20>>2]=c[o>>2];c[(c[m>>2]|0)+24>>2]=c[p>>2];c[(c[m>>2]|0)+16>>2]=c[o>>2]>>1;c[(c[m>>2]|0)+28>>2]=0;o=h;c[o>>2]=0;c[o+4>>2]=0;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}}if(!((d[f>>0]|0)&1)){c[m>>2]=c[(c[j>>2]|0)+504>>2];c[x>>2]=(d[c[c[k>>2]>>2]>>0]|0)>>1&(1<<c[(c[m>>2]|0)+36>>2])-1;c[y>>2]=c[(c[m>>2]|0)+40+(c[x>>2]<<2)>>2];x=i;f=c[x+4>>2]|0;if((f|0)>-1|(f|0)==-1&(c[x>>2]|0)>>>0>4294967295?(x=(c[j>>2]|0)+488|0,(c[x>>2]|0)==-1?(c[x+4>>2]|0)==-1:0):0){c[(c[m>>2]|0)+28>>2]=1;c[(c[m>>2]|0)+32>>2]=c[y>>2];x=i;i=c[x+4>>2]|0;f=h;c[f>>2]=c[x>>2];c[f+4>>2]=i;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}if(!(c[(c[m>>2]|0)+28>>2]|0)){c[(c[m>>2]|0)+28>>2]=1;c[(c[m>>2]|0)+32>>2]=c[y>>2];i=h;c[i>>2]=-1;c[i+4>>2]=-1;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}i=(c[j>>2]|0)+488|0;if((c[i>>2]|0)==-1?(c[i+4>>2]|0)==-1:0){c[(c[m>>2]|0)+32>>2]=c[y>>2];i=h;c[i>>2]=-1;c[i+4>>2]=-1;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}else{i=(c[j>>2]|0)+488|0;f=c[m>>2]|0;x=c[m>>2]|0;o=((c[(c[(c[m>>2]|0)+32>>2]|0?f+24|0:f+20|0)>>2]|0)+(c[(c[y>>2]|0?x+24|0:x+20|0)>>2]|0)|0)/4|0;x=Lf(c[i>>2]|0,c[i+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=z;c[o>>2]=x;c[o+4>>2]=D;c[(c[m>>2]|0)+32>>2]=c[y>>2];y=z;z=c[y+4>>2]|0;o=h;c[o>>2]=c[y>>2];c[o+4>>2]=z;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}}a:do if((d[c[c[k>>2]>>2]>>0]|0|0)==5){c[q>>2]=(c[c[k>>2]>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)-1);c[s>>2]=0;c[r>>2]=8;while(1){z=(c[r>>2]|0)+-1|0;c[r>>2]=z;if(!((1<<z&(d[c[q>>2]>>0]|0)|0)!=0^1))break;if(c[r>>2]|0)continue;c[r>>2]=8;c[q>>2]=(c[q>>2]|0)+-1}while(1){c[r>>2]=((c[r>>2]|0)+7|0)%8|0;if((c[r>>2]|0)==7)c[q>>2]=(c[q>>2]|0)+-1;if((d[(c[q>>2]|0)+-5>>0]|0)&~((1<<(c[r>>2]|0)+1)-1)|0)break;if(d[(c[q>>2]|0)+-4>>0]|0|0)break;if(d[(c[q>>2]|0)+-3>>0]|0|0)break;if(d[(c[q>>2]|0)+-2>>0]|0|0)break;if((d[(c[q>>2]|0)+-1>>0]|0)&(1<<(c[r>>2]|0)+1)-1|0)break;c[s>>2]=(c[s>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-5}c[n>>2]=0;while(1){if((c[n>>2]|0)>=2)break;z=d[c[q>>2]>>0]|0;o=c[r>>2]|0;if((c[r>>2]|0)>4)c[t>>2]=z>>o-5&63;else{c[t>>2]=z&(1<<o+1)-1;c[t>>2]=c[t>>2]<<5-(c[r>>2]|0);c[t>>2]=c[t>>2]|((d[(c[q>>2]|0)+-1>>0]|0)&~((1<<(c[r>>2]|0)+3)-1))>>(c[r>>2]|0)+3}c[t>>2]=(c[t>>2]|0)+1;if((c[t>>2]|0)==(c[s>>2]|0))break;c[r>>2]=((c[r>>2]|0)+1|0)%8|0;if(!(c[r>>2]|0))c[q>>2]=(c[q>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+5;c[s>>2]=(c[s>>2]|0)-1;c[n>>2]=(c[n>>2]|0)+1}c[w>>2]=44+((c[s>>2]|0)-1<<2);if((c[w>>2]|0)>>>0<44){o=h;c[o>>2]=-1;c[o+4>>2]=-1;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}c[m>>2]=Ff(c[(c[j>>2]|0)+504>>2]|0,c[w>>2]|0)|0;if(!(c[m>>2]|0)){o=h;c[o>>2]=-1;c[o+4>>2]=-1;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}c[(c[j>>2]|0)+504>>2]=c[m>>2];c[v>>2]=-1;do{o=(c[v>>2]|0)+1|0;c[v>>2]=o}while((1<<o|0)<(c[s>>2]|0));c[(c[m>>2]|0)+36>>2]=c[v>>2];c[u>>2]=(c[m>>2]|0)+40;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[s>>2]|0))break a;c[r>>2]=((c[r>>2]|0)+1|0)%8|0;if(!(c[r>>2]|0))c[q>>2]=(c[q>>2]|0)+1;o=(d[c[q>>2]>>0]|0)>>c[r>>2]&1;z=c[u>>2]|0;c[u>>2]=z+4;c[z>>2]=o;c[q>>2]=(c[q>>2]|0)+5;c[v>>2]=(c[v>>2]|0)+1}}while(0);v=h;c[v>>2]=0;c[v+4>>2]=0;B=h;C=B;E=c[C>>2]|0;F=B+4|0;G=F;H=c[G>>2]|0;D=H;l=g;return E|0}function $a(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=l;l=l+64|0;i=h+16|0;j=h+8|0;k=h+48|0;m=h+44|0;n=h+40|0;o=h+36|0;p=h+32|0;q=h+28|0;r=h+24|0;s=h;t=j;c[t>>2]=a;c[t+4>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[k>>2]|0)+504>>2];c[p>>2]=(d[c[c[m>>2]>>2]>>0]|0)>>1&(1<<c[(c[o>>2]|0)+36>>2])-1;m=c[o>>2]|0;c[q>>2]=c[(c[(c[o>>2]|0)+40+(c[p>>2]<<2)>>2]|0?m+24|0:m+20|0)>>2];c[p>>2]=(d[c[c[n>>2]>>2]>>0]|0)>>1&(1<<c[(c[o>>2]|0)+36>>2])-1;n=c[o>>2]|0;c[r>>2]=c[(c[(c[o>>2]|0)+40+(c[p>>2]<<2)>>2]|0?n+24|0:n+20|0)>>2];n=j;j=((c[q>>2]|0)+(c[r>>2]|0)|0)/4|0;r=Kf(c[n>>2]|0,c[n+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;j=s;c[j>>2]=r;c[j+4>>2]=D;if((c[s+4>>2]|0)<0){j=i;c[j>>2]=0;c[j+4>>2]=0;u=i;v=u;w=c[v>>2]|0;x=u+4|0;y=x;z=c[y>>2]|0;D=z;l=h;return w|0}else{j=s;s=c[j+4>>2]|0;r=i;c[r>>2]=c[j>>2];c[r+4>>2]=s;u=i;v=u;w=c[v>>2]|0;x=u+4|0;y=x;z=c[y>>2]|0;D=z;l=h;return w|0}return 0}function ab(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;g=l;l=l+48|0;h=g+36|0;i=g+32|0;j=g+28|0;k=g+24|0;m=g+20|0;n=g+12|0;o=g;p=g+8|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g+16>>2]=f;c[n>>2]=c[k>>2];k=o;c[k>>2]=0;c[k+4>>2]=0;if((c[m>>2]|0)<68){c[h>>2]=0;q=c[h>>2]|0;l=g;return q|0}else{m=Qb((c[n>>2]|0)+36|0)|0;k=o;c[k>>2]=m;c[k+4>>2]=((m|0)<0)<<31>>31;m=o;ub(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;Tb(c[i>>2]|0,c[j>>2]|0,3)|0;m=Qb((c[n>>2]|0)+68|0)|0;n=Lf(m|0,((m|0)<0)<<31>>31|0,2,0)|0;c[p>>2]=n;wb(c[i>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=1;q=c[h>>2]|0;l=g;return q|0}return 0}function bb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+32|0;g=f+8|0;h=f;i=f+24|0;j=f+20|0;k=f+16|0;m=h;c[m>>2]=a;c[m+4>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=c[(c[i>>2]|0)+504>>2];do if(!(c[(c[i>>2]|0)+504>>2]|0)){e=Cf(12)|0;c[(c[i>>2]|0)+504>>2]=e;if(!(c[(c[i>>2]|0)+504>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}else{c[k>>2]=c[(c[i>>2]|0)+504>>2];c[(c[k>>2]|0)+8>>2]=0;e=S(c[(c[c[j>>2]>>2]|0)+64>>2]|0,c[(c[c[j>>2]>>2]|0)+56>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=e;c[c[k>>2]>>2]=1;e=g;c[e>>2]=0;c[e+4>>2]=0;break}}else{e=c[k>>2]|0;if((c[c[k>>2]>>2]|0)<2)c[e>>2]=(c[e>>2]|0)+1;else c[e+8>>2]=1;e=h;d=c[e+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[e>>2]|0)>>>0>4294967295){e=h;d=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=d;break}if(!(c[(c[k>>2]|0)+8>>2]|0)){d=g;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[i>>2]|0)+488|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){d=(c[i>>2]|0)+488|0;b=c[(c[k>>2]|0)+4>>2]|0;e=Lf(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=e;c[b+4>>2]=D;break}else{b=g;c[b>>2]=-1;c[b+4>>2]=-1;break}}while(0);k=g;D=c[k+4>>2]|0;l=f;return c[k>>2]|0}function cb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;g=l;l=l+48|0;h=g+32|0;i=g+28|0;j=g+24|0;k=g+20|0;m=g+16|0;n=g+8|0;o=g;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g+12>>2]=f;c[n>>2]=c[k>>2];if((c[m>>2]|0)<28){c[h>>2]=0;p=c[h>>2]|0;l=g;return p|0}else{m=tb((c[n>>2]|0)+16|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=((m|0)<0)<<31>>31;m=o;ub(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;wb(c[i>>2]|0,c[j>>2]|0,3)|0;c[h>>2]=1;p=c[h>>2]|0;l=g;return p|0}return 0}function db(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=l;l=l+48|0;i=h+44|0;j=h+40|0;k=h+36|0;m=h+32|0;n=h+28|0;o=h+20|0;p=h+8|0;q=h;r=h+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h+24>>2]=g;c[o>>2]=c[m>>2];m=p;c[m>>2]=0;c[m+4>>2]=0;m=q;c[m>>2]=0;c[m+4>>2]=0;if((c[n>>2]|0)<28){c[i>>2]=0;s=c[i>>2]|0;l=h;return s|0}m=Rb((c[o>>2]|0)+12|0)|0;g=p;c[g>>2]=m;c[g+4>>2]=D;g=Rb((c[o>>2]|0)+20|0)|0;m=q;c[m>>2]=g;c[m+4>>2]=D;if((c[n>>2]|0)>28)c[r>>2]=d[(c[o>>2]|0)+28>>0];else c[r>>2]=0;o=c[j>>2]|0;n=c[k>>2]|0;m=p;p=c[m>>2]|0;g=c[m+4>>2]|0;m=q;q=Uf(1e3,0,c[m>>2]|0,c[m+4>>2]|0)|0;ub(o,n,p,g,q,D)|0;vb(c[j>>2]|0,c[k>>2]|0,c[r>>2]|0)|0;wb(c[j>>2]|0,c[k>>2]|0,3)|0;c[i>>2]=1;s=c[i>>2]|0;l=h;return s|0}function eb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=l;l=l+32|0;h=g+16|0;i=g+12|0;c[h>>2]=a;c[i>>2]=b;c[g+8>>2]=d;c[g+4>>2]=e;c[g>>2]=f;ub(c[h>>2]|0,c[i>>2]|0,0,0,1,0)|0;l=g;return 1}function fb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=l;l=l+32|0;h=g+16|0;i=g+12|0;c[h>>2]=a;c[i>>2]=b;c[g+8>>2]=d;c[g+4>>2]=e;c[g>>2]=f;ub(c[h>>2]|0,c[i>>2]|0,0,0,1,0)|0;wb(c[h>>2]|0,c[i>>2]|0,1)|0;l=g;return 1}function gb(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;i=h+28|0;j=h+24|0;k=h+20|0;m=h+8|0;n=h;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[h+16>>2]=f;c[h+12>>2]=g;c[m>>2]=c[k>>2];k=n;c[k>>2]=0;c[k+4>>2]=0;k=(d[(c[m>>2]|0)+14>>0]|0)<<12;g=(d[(c[m>>2]|0)+15>>0]|0)<<4;f=(d[(c[m>>2]|0)+16>>0]|0)>>4&15;m=n;c[m>>2]=k|g|f;c[m+4>>2]=((k|0)<0)<<31>>31|((g|0)<0)<<31>>31|((f|0)<0)<<31>>31;f=n;ub(c[i>>2]|0,c[j>>2]|0,c[f>>2]|0,c[f+4>>2]|0,1e3,0)|0;wb(c[i>>2]|0,c[j>>2]|0,3)|0;l=h;return 1}function hb(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=l;l=l+48|0;i=h+8|0;j=h;k=h+28|0;m=h+24|0;n=h+20|0;o=h+32|0;p=h+16|0;q=j;c[q>>2]=b;c[q+4>>2]=e;c[k>>2]=f;c[m>>2]=g;do if(c[(c[k>>2]|0)+504>>2]|0){c[n>>2]=c[(c[k>>2]|0)+504>>2];if((d[c[c[m>>2]>>2]>>0]|0|0)==255)c[(c[n>>2]|0)+8>>2]=1;g=j;if((((c[g>>2]|0)==-1?(c[g+4>>2]|0)==-1:0)?(d[c[c[m>>2]>>2]>>0]|0|0)==255:0)?(c[(c[m>>2]|0)+4>>2]|0)>2:0){a[o>>0]=((d[(c[c[m>>2]>>2]|0)+2>>0]|0)&240)>>4;do switch(d[o>>0]|0|0){case 0:{c[p>>2]=-1;break}case 1:{c[p>>2]=192;break}case 2:{c[p>>2]=576;break}case 3:{c[p>>2]=1152;break}case 4:{c[p>>2]=2304;break}case 5:{c[p>>2]=4608;break}case 6:{c[p>>2]=-1;break}case 7:{c[p>>2]=-1;break}case 8:{c[p>>2]=256;break}case 9:{c[p>>2]=512;break}case 10:{c[p>>2]=1024;break}case 11:{c[p>>2]=2048;break}case 12:{c[p>>2]=4096;break}case 13:{c[p>>2]=8192;break}case 14:{c[p>>2]=16384;break}case 15:{c[p>>2]=32768;break}default:c[p>>2]=-1}while(0);if((c[p>>2]|0)==-1)break;g=c[n>>2]|0;f=c[p>>2]|0;e=Lf(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=e;c[f+4>>2]=D;break}f=j;if(((c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0)?(c[(c[n>>2]|0)+8>>2]|0)==0:0){f=j;c[f>>2]=0;c[f+4>>2]=0}}else{f=Cf(16)|0;c[(c[k>>2]|0)+504>>2]=f;if(c[(c[k>>2]|0)+504>>2]|0){c[n>>2]=c[(c[k>>2]|0)+504>>2];f=c[n>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[(c[n>>2]|0)+8>>2]=0;break}f=i;c[f>>2]=-1;c[f+4>>2]=-1;r=i;s=r;t=c[s>>2]|0;u=r+4|0;v=u;w=c[v>>2]|0;D=w;l=h;return t|0}while(0);k=j;p=c[k+4>>2]|0;o=c[n>>2]|0;c[o>>2]=c[k>>2];c[o+4>>2]=p;p=j;j=c[p+4>>2]|0;o=i;c[o>>2]=c[p>>2];c[o+4>>2]=j;r=i;s=r;t=c[s>>2]|0;u=r+4|0;v=u;w=c[v>>2]|0;D=w;l=h;return t|0}function ib(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;h=l;l=l+48|0;i=h+36|0;j=h+32|0;k=h+28|0;m=h+24|0;n=h+20|0;o=h+12|0;p=h;q=h+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h+16>>2]=g;c[o>>2]=c[m>>2];m=p;c[m>>2]=0;c[m+4>>2]=0;if((c[n>>2]|0)<51){c[i>>2]=0;r=c[i>>2]|0;l=h;return r|0}else{n=(d[(c[o>>2]|0)+27>>0]|0)<<12;m=(d[(c[o>>2]|0)+28>>0]|0)<<4;g=(d[(c[o>>2]|0)+29>>0]|0)>>4&15;f=p;c[f>>2]=n|m|g;c[f+4>>2]=((n|0)<0)<<31>>31|((m|0)<0)<<31>>31|((g|0)<0)<<31>>31;g=p;ub(c[j>>2]|0,c[k>>2]|0,c[g>>2]|0,c[g+4>>2]|0,1e3,0)|0;c[q>>2]=(Sb((c[o>>2]|0)+7|0)|0)&65535;wb(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0)|0;c[i>>2]=1;r=c[i>>2]|0;l=h;return r|0}return 0}function jb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;g=l;l=l+48|0;h=g+40|0;i=g+36|0;j=g+32|0;k=g+28|0;m=g+24|0;n=g+16|0;o=g+8|0;p=g;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g+20>>2]=f;c[n>>2]=c[k>>2];k=o;c[k>>2]=0;c[k+4>>2]=0;k=p;c[k>>2]=0;c[k+4>>2]=0;if((c[m>>2]|0)<28){c[h>>2]=0;q=c[h>>2]|0;l=g;return q|0}else{m=Rb((c[n>>2]|0)+8|0)|0;k=o;c[k>>2]=m;c[k+4>>2]=D;k=Rb((c[n>>2]|0)+16|0)|0;n=p;c[n>>2]=k;c[n+4>>2]=D;n=c[i>>2]|0;i=c[j>>2]|0;j=o;o=c[j>>2]|0;k=c[j+4>>2]|0;j=p;p=Uf(1e3,0,c[j>>2]|0,c[j+4>>2]|0)|0;ub(n,i,o,k,p,D)|0;c[h>>2]=1;q=c[h>>2]|0;l=g;return q|0}return 0}function kb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;g=l;l=l+48|0;h=g+36|0;i=g+32|0;j=g+28|0;k=g+24|0;m=g+20|0;n=g+12|0;o=g;p=g+8|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g+16>>2]=f;c[n>>2]=c[k>>2];k=o;c[k>>2]=0;c[k+4>>2]=0;if((c[m>>2]|0)<56){c[h>>2]=0;q=c[h>>2]|0;l=g;return q|0}else{m=Qb((c[n>>2]|0)+40|0)|0;k=o;c[k>>2]=m;c[k+4>>2]=((m|0)<0)<<31>>31;m=o;ub(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0,c[m+4>>2]|0,1e3,0)|0;m=Qb((c[n>>2]|0)+52|0)|0;n=Lf(m|0,((m|0)<0)<<31>>31|0,2,0)|0;c[p>>2]=n;wb(c[i>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=1;q=c[h>>2]|0;l=g;return q|0}return 0}function lb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;g=f+8|0;h=f;i=f+24|0;j=f+16|0;k=h;c[k>>2]=a;c[k+4>>2]=b;c[i>>2]=d;c[f+20>>2]=e;c[j>>2]=c[(c[i>>2]|0)+504>>2];do if(!(c[(c[i>>2]|0)+504>>2]|0)){e=Cf(12)|0;c[(c[i>>2]|0)+504>>2]=e;if(!(c[(c[i>>2]|0)+504>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}else{c[j>>2]=c[(c[i>>2]|0)+504>>2];c[(c[j>>2]|0)+8>>2]=0;c[(c[j>>2]|0)+4>>2]=256;c[c[j>>2]>>2]=1;e=g;c[e>>2]=0;c[e+4>>2]=0;break}}else{e=c[j>>2]|0;if((c[c[j>>2]>>2]|0)<2)c[e>>2]=(c[e>>2]|0)+1;else c[e+8>>2]=1;e=h;d=c[e+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[e>>2]|0)>>>0>4294967295){e=h;d=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=d;break}if(!(c[(c[j>>2]|0)+8>>2]|0)){d=g;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[i>>2]|0)+488|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){d=(c[i>>2]|0)+488|0;b=c[(c[j>>2]|0)+4>>2]|0;e=Lf(c[d>>2]|0,c[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=e;c[b+4>>2]=D;break}else{b=g;c[b>>2]=-1;c[b+4>>2]=-1;break}}while(0);j=g;D=c[j+4>>2]|0;l=f;return c[j>>2]|0}function mb(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=l;l=l+48|0;j=i+36|0;k=i+32|0;m=i+28|0;n=i+24|0;o=i+20|0;p=i+12|0;q=i+8|0;r=i+4|0;s=i+40|0;t=i;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[i+16>>2]=h;c[p>>2]=c[n>>2];a[s>>0]=0;if((c[o>>2]|0)<64){c[j>>2]=0;u=c[j>>2]|0;l=i;return u|0}else{c[q>>2]=Qb((c[p>>2]|0)+24|0)|0;c[r>>2]=Qb((c[p>>2]|0)+28|0)|0;a[s>>0]=a[(c[p>>2]|0)+15>>0]|0;c[t>>2]=d[(c[p>>2]|0)+11>>0];p=c[k>>2]|0;o=c[m>>2]|0;n=c[q>>2]|0;q=c[r>>2]|0;r=Uf(1e3,0,q|0,((q|0)<0)<<31>>31|0)|0;ub(p,o,n,((n|0)<0)<<31>>31,r,D)|0;vb(c[k>>2]|0,c[m>>2]|0,d[s>>0]|0)|0;wb(c[k>>2]|0,c[m>>2]|0,c[t>>2]|0)|0;c[j>>2]=1;u=c[j>>2]|0;l=i;return u|0}return 0}function nb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;g=l;l=l+32|0;h=g+28|0;i=g+24|0;j=g+20|0;k=g+16|0;m=g+12|0;n=g+4|0;o=g;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g+8>>2]=f;c[n>>2]=22;c[o>>2]=Cf(48)|0;if(!(c[o>>2]|0)){c[h>>2]=-1;p=c[h>>2]|0;l=g;return p|0}if((Kb(c[o>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==-1){Df(c[o>>2]|0);c[h>>2]=-1;p=c[h>>2]|0;l=g;return p|0}else{m=c[i>>2]|0;k=c[j>>2]|0;f=Uf(2,0,c[(c[o>>2]|0)+32>>2]|0,0)|0;e=D;d=Uf(1e3,0,c[(c[o>>2]|0)+36>>2]|0,0)|0;ub(m,k,f,e,d,D)|0;vb(c[i>>2]|0,c[j>>2]|0,c[n>>2]|0)|0;wb(c[i>>2]|0,c[j>>2]|0,0)|0;Df(c[o>>2]|0);c[h>>2]=1;p=c[h>>2]|0;l=g;return p|0}return 0}function ob(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;i=l;l=l+32|0;j=i+24|0;k=i+20|0;m=i+16|0;n=i+12|0;o=i+8|0;p=i+28|0;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[i+4>>2]=h;c[i>>2]=c[n>>2];if((c[o>>2]|0)<19){c[j>>2]=0;q=c[j>>2]|0;l=i;return q|0}a[p>>0]=a[(c[n>>2]|0)+9>>0]|0;if((d[p>>0]|0|0)<1){c[j>>2]=0;q=c[j>>2]|0;l=i;return q|0}else{ub(c[k>>2]|0,c[m>>2]|0,48e3,0,1e3,0)|0;vb(c[k>>2]|0,c[m>>2]|0,0)|0;p=c[k>>2]|0;o=c[m>>2]|0;Jb(p,o,(Ib((c[n>>2]|0)+10|0)|0)&65535,0)|0;wb(c[k>>2]|0,c[m>>2]|0,2)|0;c[j>>2]=1;q=c[j>>2]|0;l=i;return q|0}return 0}function pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=l;l=l+48|0;g=f+24|0;h=f+16|0;i=f+40|0;j=f+36|0;k=f+32|0;m=f+8|0;n=f;o=h;c[o>>2]=a;c[o+4>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=c[(c[i>>2]|0)+504>>2];if(!(c[(c[i>>2]|0)+504>>2]|0)){e=Cf(16)|0;c[(c[i>>2]|0)+504>>2]=e;if(!(c[(c[i>>2]|0)+504>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=f;return r|0}else{c[k>>2]=c[(c[i>>2]|0)+504>>2];c[(c[k>>2]|0)+4>>2]=0;c[c[k>>2]>>2]=1;e=(c[k>>2]|0)+8|0;c[e>>2]=0;c[e+4>>2]=0;e=g;c[e>>2]=0;c[e+4>>2]=0;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=f;return r|0}}e=c[k>>2]|0;if((c[c[k>>2]>>2]|0)<2)c[e>>2]=(c[e>>2]|0)+1;else c[e+4>>2]=1;e=h;d=c[e+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[e>>2]|0)>>>0>4294967295){e=h;h=c[e+4>>2]|0;d=g;c[d>>2]=c[e>>2];c[d+4>>2]=h;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=f;return r|0}if(!(c[(c[k>>2]|0)+4>>2]|0)){h=g;c[h>>2]=0;c[h+4>>2]=0;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=f;return r|0}h=Hb(c[j>>2]|0)|0;j=m;c[j>>2]=h;c[j+4>>2]=D;j=(c[i>>2]|0)+488|0;h=c[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(c[j>>2]|0)>>>0>0)){j=m;h=(c[k>>2]|0)+8|0;k=h;d=Lf(c[k>>2]|0,c[k+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=h;c[j>>2]=d;c[j+4>>2]=D;j=g;c[j>>2]=-1;c[j+4>>2]=-1;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=f;return r|0}j=(c[i>>2]|0)+488|0;d=m;m=Lf(c[j>>2]|0,c[j+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=n;c[d>>2]=m;c[d+4>>2]=D;d=n;m=c[d+4>>2]|0;j=(c[i>>2]|0)+496|0;h=c[j+4>>2]|0;if((m|0)>(h|0)|((m|0)==(h|0)?(c[d>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)?(j=(c[i>>2]|0)+496|0,d=c[j+4>>2]|0,h=(c[i>>2]|0)+488|0,m=c[h+4>>2]|0,(d|0)>(m|0)|((d|0)==(m|0)?(c[j>>2]|0)>>>0>=(c[h>>2]|0)>>>0:0)):0){h=(c[i>>2]|0)+496|0;v=c[h>>2]|0;w=c[h+4>>2]|0}else{h=n;v=c[h>>2]|0;w=c[h+4>>2]|0}h=g;c[h>>2]=v;c[h+4>>2]=w;p=g;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=f;return r|0}function qb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=l;l=l+32|0;h=g+8|0;i=g+28|0;j=g+24|0;k=g+20|0;m=g+16|0;n=g;o=h;c[o>>2]=a;c[o+4>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[i>>2]|0)+504>>2];i=h;f=c[i+4>>2]|0;e=(c[m>>2]|0)+8|0;d=c[e+4>>2]|0;b=h;h=c[b>>2]|0;o=c[b+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(c[i>>2]|0)>>>0>=(c[e>>2]|0)>>>0:0))){e=n;c[e>>2]=h;c[e+4>>2]=o;e=Hb(c[j>>2]|0)|0;j=(c[m>>2]|0)+8|0;i=j;d=Kf(c[i>>2]|0,c[i+4>>2]|0,e|0,D|0)|0;e=j;c[e>>2]=d;c[e+4>>2]=D;p=n;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=g;return r|0}e=Hb(c[k>>2]|0)|0;k=Kf(h|0,o|0,e|0,D|0)|0;e=n;c[e>>2]=k;c[e+4>>2]=D;e=n;k=c[e+4>>2]|0;o=(c[m>>2]|0)+8|0;h=c[o+4>>2]|0;if((k|0)<(h|0)|((k|0)==(h|0)?(c[e>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)){o=(c[m>>2]|0)+8|0;e=c[o+4>>2]|0;h=n;c[h>>2]=c[o>>2];c[h+4>>2]=e}e=(c[m>>2]|0)+8|0;c[e>>2]=0;c[e+4>>2]=0;p=n;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=g;return r|0}function rb(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;h=l;l=l+48|0;i=h+32|0;j=h+28|0;k=h+24|0;m=h+20|0;n=h+16|0;o=h+8|0;p=h+4|0;q=h;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h+12>>2]=g;c[o>>2]=c[m>>2];if((c[n>>2]|0)<26){c[i>>2]=0;r=c[i>>2]|0;l=h;return r|0}if((d[c[m>>2]>>0]|0|0)!=79){c[i>>2]=0;r=c[i>>2]|0;l=h;return r|0}if(De((c[m>>2]|0)+1|0,2723,4)|0){c[i>>2]=0;r=c[i>>2]|0;l=h;return r|0}if((d[(c[m>>2]|0)+5>>0]|0|0)!=1){c[i>>2]=0;r=c[i>>2]|0;l=h;return r|0}if((d[(c[m>>2]|0)+6>>0]|0|0)!=1){c[i>>2]=0;r=c[i>>2]|0;l=h;return r|0}else{c[p>>2]=tb((c[o>>2]|0)+18|0)|0;c[q>>2]=tb((c[o>>2]|0)+22|0)|0;o=c[j>>2]|0;m=c[k>>2]|0;n=c[p>>2]|0;p=c[q>>2]|0;q=Uf(1e3,0,p|0,((p|0)<0)<<31>>31|0)|0;ub(o,m,n,((n|0)<0)<<31>>31,q,D)|0;vb(c[j>>2]|0,c[k>>2]|0,32)|0;wb(c[j>>2]|0,c[k>>2]|0,1)|0;c[i>>2]=1;r=c[i>>2]|0;l=h;return r|0}return 0}function sb(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;g=l;l=l+80|0;h=g+40|0;i=g+32|0;j=g+68|0;k=g+64|0;m=g+60|0;n=g+56|0;o=g+52|0;p=g+48|0;q=g+24|0;r=g+16|0;s=g+8|0;t=g;u=i;c[u>>2]=a;c[u+4>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=c[(c[j>>2]|0)+504>>2];if(!(c[(c[j>>2]|0)+504>>2]|0)){f=Cf(8)|0;c[(c[j>>2]|0)+504>>2]=f;if(!(c[(c[j>>2]|0)+504>>2]|0)){f=h;c[f>>2]=-1;c[f+4>>2]=-1;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=g;return x|0}else{c[p>>2]=c[(c[j>>2]|0)+504>>2];c[(c[p>>2]|0)+4>>2]=0;c[c[p>>2]>>2]=1;f=h;c[f>>2]=0;c[f+4>>2]=0;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=g;return x|0}}if(!(c[(c[k>>2]|0)+4>>2]|0))B=1;else B=(d[c[c[k>>2]>>2]>>0]|0|0)==79;c[m>>2]=B&1;if(!(c[m>>2]|0)?(c[(c[k>>2]|0)+4>>2]|0)>0:0)C=((d[c[c[k>>2]>>2]>>0]|0)&1|0)==0;else C=0;c[n>>2]=C&1;if(!(c[m>>2]|0)?(c[(c[k>>2]|0)+4>>2]|0)>0:0)E=((d[c[c[k>>2]>>2]>>0]|0)>>4&1|0)!=0;else E=0;c[o>>2]=E&1;E=c[p>>2]|0;if(c[m>>2]|0)c[E>>2]=(c[E>>2]|0)+1;else c[E+4>>2]=1;E=i;k=c[E+4>>2]|0;if((k|0)>-1|(k|0)==-1&(c[E>>2]|0)>>>0>4294967295){E=i;i=c[E+4>>2]|0;k=h;c[k>>2]=c[E>>2];c[k+4>>2]=i;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=g;return x|0}if(!(c[(c[p>>2]|0)+4>>2]|0)){p=h;c[p>>2]=0;c[p+4>>2]=0;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=g;return x|0}p=(c[j>>2]|0)+488|0;i=c[p+4>>2]|0;if(!((i|0)>0|(i|0)==0&(c[p>>2]|0)>>>0>0)){p=h;c[p>>2]=-1;c[p+4>>2]=-1;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=g;return x|0}p=(c[j>>2]|0)+488|0;i=c[p>>2]|0;k=c[p+4>>2]|0;if(c[m>>2]|0){m=h;c[m>>2]=i;c[m+4>>2]=k;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=g;return x|0}m=Jf(i|0,k|0,32)|0;k=q;c[k>>2]=m;c[k+4>>2]=D;k=(c[j>>2]|0)+488|0;m=Jf(c[k>>2]|0,c[k+4>>2]|0,30)|0;k=r;c[k>>2]=m&3;c[k+4>>2]=0;k=(c[j>>2]|0)+488|0;j=Jf(c[k>>2]|0,c[k+4>>2]|0,3)|0;k=s;c[k>>2]=j&134217727;c[k+4>>2]=0;if(c[n>>2]|0){n=s;c[n>>2]=0;c[n+4>>2]=0}else{n=s;k=Lf(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=s;c[n>>2]=k;c[n+4>>2]=D}do if(!(c[o>>2]|0)){n=r;if((c[n>>2]|0)==3&(c[n+4>>2]|0)==0){n=r;c[n>>2]=0;c[n+4>>2]=0;break}else{n=r;k=Lf(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=r;c[n>>2]=k;c[n+4>>2]=D;break}}else{n=q;k=Lf(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=q;c[n>>2]=k;c[n+4>>2]=D;n=r;c[n>>2]=3;c[n+4>>2]=0}while(0);o=c[q>>2]|0;q=r;r=Of(c[q>>2]|0,c[q+4>>2]|0,30)|0;q=o|D;o=s;s=Of(c[o>>2]|0,c[o+4>>2]|0,3)|0;o=t;c[o>>2]=r|s;c[o+4>>2]=q|D;q=t;t=c[q+4>>2]|0;o=h;c[o>>2]=c[q>>2];c[o+4>>2]=t;v=h;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=g;return x|0}function tb(a){a=a|0;var b=0,e=0;b=l;l=l+16|0;e=b;c[e>>2]=a;l=b;return (d[c[e>>2]>>0]|0)<<24|(d[(c[e>>2]|0)+1>>0]|0)<<16|(d[(c[e>>2]|0)+2>>0]|0)<<8|(d[(c[e>>2]|0)+3>>0]|0)|0}function ub(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;h=l;l=l+32|0;i=h+28|0;j=h+24|0;k=h+20|0;m=h+8|0;n=h;o=h+16|0;c[j>>2]=a;c[k>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=e;e=n;c[e>>2]=f;c[e+4>>2]=g;if(!(c[j>>2]|0)){c[i>>2]=-2;p=c[i>>2]|0;l=h;return p|0}c[o>>2]=xb(c[j>>2]|0,c[k>>2]|0)|0;if(!(c[o>>2]|0)){c[i>>2]=-20;p=c[i>>2]|0;l=h;return p|0}else{g=m;m=c[g+4>>2]|0;e=(c[o>>2]|0)+376|0;c[e>>2]=c[g>>2];c[e+4>>2]=m;m=n;n=c[m+4>>2]|0;e=(c[o>>2]|0)+384|0;c[e>>2]=c[m>>2];c[e+4>>2]=n;c[i>>2]=Ab(c[j>>2]|0,c[k>>2]|0)|0;p=c[i>>2]|0;l=h;return p|0}return 0}function vb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;k=c[f>>2]|0;l=e;return k|0}c[j>>2]=xb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=-20;k=c[f>>2]|0;l=e;return k|0}else{c[(c[j>>2]|0)+408>>2]=c[i>>2];c[f>>2]=Ab(c[g>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=e;return k|0}return 0}function wb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;k=c[f>>2]|0;l=e;return k|0}c[j>>2]=xb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=-20;k=c[f>>2]|0;l=e;return k|0}else{c[(c[j>>2]|0)+364>>2]=c[i>>2];c[f>>2]=0;k=c[f>>2]|0;l=e;return k|0}return 0}function xb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==-1){c[e>>2]=0;h=c[e>>2]|0;l=d;return h|0}else{c[e>>2]=zb(c[(c[f>>2]|0)+80>>2]|0,1,c[g>>2]|0)|0;h=c[e>>2]|0;l=d;return h|0}return 0}function yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];l=d;return (c[(c[g>>2]|0)+336>>2]|0)==(c[f>>2]|0)|0}function zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;e=l;l=l+32|0;f=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){m=6;break}c[j>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+(c[k>>2]<<2)>>2];if(xa[c[h>>2]&1](c[j>>2]|0,c[i>>2]|0)|0){m=4;break}c[k>>2]=(c[k>>2]|0)+1}if((m|0)==4){c[f>>2]=c[j>>2];n=c[f>>2]|0;l=e;return n|0}else if((m|0)==6){c[f>>2]=0;n=c[f>>2]|0;l=e;return n|0}return 0}function Ab(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-2;i=c[e>>2]|0;l=d;return i|0}c[h>>2]=xb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;i=c[e>>2]|0;l=d;return i|0}b=(c[h>>2]|0)+376|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){b=(c[h>>2]|0)+376|0;c[b>>2]=1;c[b+4>>2]=0;b=(c[h>>2]|0)+384|0;c[b>>2]=0;c[b+4>>2]=0}b=c[f>>2]|0;a=c[g>>2]|0;if(!(c[(c[h>>2]|0)+408>>2]|0)){c[e>>2]=Cb(b,a,19,0,1)|0;i=c[e>>2]|0;l=d;return i|0}h=(Db(b,a)|0)==12;a=c[f>>2]|0;b=c[g>>2]|0;if(h){c[e>>2]=Cb(a,b,20,0,1)|0;i=c[e>>2]|0;l=d;return i|0}h=(Db(a,b)|0)==14;b=c[f>>2]|0;f=c[g>>2]|0;if(h){c[e>>2]=Cb(b,f,21,0,1)|0;i=c[e>>2]|0;l=d;return i|0}else{c[e>>2]=Cb(b,f,22,0,1)|0;i=c[e>>2]|0;l=d;return i|0}return 0}function Bb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=l;l=l+32|0;h=g+8|0;i=g+28|0;j=g+24|0;k=g;m=g+16|0;c[i>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[g+20>>2]=f;c[m>>2]=xb(c[i>>2]|0,c[j>>2]|0)|0;if(!(c[m>>2]|0)){j=h;c[j>>2]=-1;c[j+4>>2]=-1;n=h;o=n;p=c[o>>2]|0;q=n+4|0;r=q;s=c[r>>2]|0;D=s;l=g;return p|0}j=k;i=c[j+4>>2]|0;f=(c[m>>2]|0)+392|0;e=c[f+4>>2]|0;if((i|0)<(e|0)|((i|0)==(e|0)?(c[j>>2]|0)>>>0<=(c[f>>2]|0)>>>0:0)){t=0;u=0}else{f=k;j=(c[m>>2]|0)+392|0;e=Kf(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;t=e;u=D}e=k;c[e>>2]=t;c[e+4>>2]=u;u=(c[m>>2]|0)+384|0;e=k;k=Uf(c[u>>2]|0,c[u+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=(c[m>>2]|0)+376|0;m=Rf(k|0,D|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=h;c[e>>2]=m;c[e+4>>2]=D;n=h;o=n;p=c[o>>2]|0;q=n+4|0;r=q;s=c[r>>2]|0;D=s;l=g;return p|0}function Cb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;g=l;l=l+32|0;h=g+24|0;i=g+20|0;j=g+16|0;k=g+12|0;m=g+8|0;n=g+4|0;o=g;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(c[i>>2]|0)){c[h>>2]=-2;p=c[h>>2]|0;l=g;return p|0}f=c[i>>2]|0;if((c[j>>2]|0)==-1){if(c[f+96>>2]|0?c[(c[i>>2]|0)+92>>2]|0:0)Df(c[(c[i>>2]|0)+92>>2]|0);c[(c[i>>2]|0)+88>>2]=c[k>>2];c[(c[i>>2]|0)+92>>2]=c[m>>2];c[(c[i>>2]|0)+96>>2]=c[n>>2]}else{c[o>>2]=xb(f,c[j>>2]|0)|0;if(!(c[o>>2]|0)){c[h>>2]=-20;p=c[h>>2]|0;l=g;return p|0}if(c[(c[o>>2]|0)+456>>2]|0?c[(c[o>>2]|0)+452>>2]|0:0)Df(c[(c[o>>2]|0)+452>>2]|0);c[(c[o>>2]|0)+448>>2]=c[k>>2];c[(c[o>>2]|0)+452>>2]=c[m>>2];c[(c[o>>2]|0)+456>>2]=c[n>>2]}c[h>>2]=0;p=c[h>>2]|0;l=g;return p|0}function Db(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-2;i=c[e>>2]|0;l=d;return i|0}c[h>>2]=xb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;i=c[e>>2]|0;l=d;return i|0}else{c[e>>2]=c[(c[h>>2]|0)+360>>2];i=c[e>>2]|0;l=d;return i|0}return 0}function Eb(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=l;l=l+80|0;j=i+40|0;k=i+64|0;m=i+60|0;n=i+32|0;o=i+52|0;p=i+24|0;q=i+16|0;r=i+48|0;s=i+68|0;t=i+8|0;u=i;c[k>>2]=a;c[m>>2]=d;d=n;c[d>>2]=f;c[d+4>>2]=g;c[i+56>>2]=h;c[o>>2]=xb(c[k>>2]|0,c[m>>2]|0)|0;if(!(c[o>>2]|0)){m=j;c[m>>2]=-1;c[m+4>>2]=-1;v=j;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=i;return x|0}else{m=n;k=Jf(c[m>>2]|0,c[m+4>>2]|0,c[(c[o>>2]|0)+408>>2]|0)|0;m=p;c[m>>2]=k;c[m+4>>2]=D;m=n;n=c[m>>2]|0;k=c[m+4>>2]|0;m=p;h=Of(c[m>>2]|0,c[m+4>>2]|0,c[(c[o>>2]|0)+408>>2]|0)|0;m=Kf(n|0,k|0,h|0,D|0)|0;h=q;c[h>>2]=m;c[h+4>>2]=D;h=p;p=q;m=Lf(c[h>>2]|0,c[h+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=Jf(m|0,D|0,9)|0;c[r>>2]=p;p=q;q=Jf(c[p>>2]|0,c[p+4>>2]|0,9)|0;b[s>>1]=q;q=Kf(c[r>>2]|0,0,e[s>>1]|0|0,0)|0;s=t;c[s>>2]=q;c[s+4>>2]=D;s=t;t=(c[o>>2]|0)+384|0;q=Uf(c[s>>2]|0,c[s+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=(c[o>>2]|0)+376|0;o=Rf(q|0,D|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=u;c[t>>2]=o;c[t+4>>2]=D;t=u;u=c[t+4>>2]|0;o=j;c[o>>2]=c[t>>2];c[o+4>>2]=u;v=j;w=v;x=c[w>>2]|0;y=v+4|0;z=y;A=c[z>>2]|0;D=A;l=i;return x|0}return 0}function Fb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=l;l=l+48|0;h=g+24|0;i=g+44|0;j=g+40|0;k=g+16|0;m=g+32|0;n=g+8|0;o=g;c[i>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[g+36>>2]=f;c[m>>2]=xb(c[i>>2]|0,c[j>>2]|0)|0;if(!(c[m>>2]|0)){j=h;c[j>>2]=-1;c[j+4>>2]=-1;p=h;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=g;return r|0}else{j=k;k=Jf(c[j>>2]|0,c[j+4>>2]|0,c[(c[m>>2]|0)+408>>2]|0)|0;j=n;c[j>>2]=k;c[j+4>>2]=D;j=n;n=(c[m>>2]|0)+384|0;k=Uf(c[j>>2]|0,c[j+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[m>>2]|0)+376|0;m=Rf(k|0,D|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=D;n=o;o=c[n+4>>2]|0;m=h;c[m>>2]=c[n>>2];c[m+4>>2]=o;p=h;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=g;return r|0}return 0}function Gb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=l;l=l+64|0;h=g+32|0;i=g+52|0;j=g+48|0;k=g+24|0;m=g+40|0;n=g+16|0;o=g+8|0;p=g;c[i>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[g+44>>2]=f;c[m>>2]=xb(c[i>>2]|0,c[j>>2]|0)|0;if(!(c[m>>2]|0)){j=h;c[j>>2]=-1;c[j+4>>2]=-1;q=h;r=q;s=c[r>>2]|0;t=q+4|0;u=t;v=c[u>>2]|0;D=v;l=g;return s|0}j=k;i=Jf(c[j>>2]|0,c[j+4>>2]|0,c[(c[m>>2]|0)+408>>2]|0)|0;j=n;c[j>>2]=i;c[j+4>>2]=D;j=k;i=c[j>>2]|0;f=c[j+4>>2]|0;j=n;e=Of(c[j>>2]|0,c[j+4>>2]|0,c[(c[m>>2]|0)+408>>2]|0)|0;j=Kf(i|0,f|0,e|0,D|0)|0;e=o;c[e>>2]=j;c[e+4>>2]=D;e=n;n=o;o=Lf(c[e>>2]|0,c[e+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=k;c[n>>2]=o;c[n+4>>2]=D;n=k;o=c[n+4>>2]|0;if((o|0)>0|(o|0)==0&(c[n>>2]|0)>>>0>0){n=(c[m>>2]|0)+392|0;o=k;e=Kf(c[o>>2]|0,c[o+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=k;c[n>>2]=e;c[n+4>>2]=D}n=k;k=(c[m>>2]|0)+384|0;e=Uf(c[n>>2]|0,c[n+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=(c[m>>2]|0)+376|0;m=Rf(e|0,D|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=p;c[k>>2]=m;c[k+4>>2]=D;k=p;p=c[k+4>>2]|0;m=h;c[m>>2]=c[k>>2];c[m+4>>2]=p;q=h;r=q;s=c[r>>2]|0;t=q+4|0;u=t;v=c[u>>2]|0;D=v;l=g;return s|0}function Hb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;e=l;l=l+32|0;f=e;g=e+16|0;h=e+22|0;i=e+21|0;j=e+20|0;k=e+12|0;m=e+8|0;c[g>>2]=b;do if((c[(c[g>>2]|0)+4>>2]|0)>=1){a[h>>0]=a[c[c[g>>2]>>2]>>0]|0;a[i>>0]=(d[h>>0]|0)&3;c[k>>2]=c[1416+((d[h>>0]|0)>>3<<2)>>2];if((d[i>>0]|0|0)==3?(c[(c[g>>2]|0)+4>>2]|0)<2:0){b=f;c[b>>2]=0;c[b+4>>2]=0;break}switch(d[i>>0]|0|0){case 0:{a[j>>0]=1;break}case 2:case 1:{a[j>>0]=2;break}case 3:{a[j>>0]=(d[(c[c[g>>2]>>2]|0)+1>>0]|0)&63;break}default:{}}c[m>>2]=S(c[k>>2]|0,d[j>>0]|0)|0;if((c[m>>2]|0)>5760){b=f;c[b>>2]=0;c[b+4>>2]=0;break}else{b=c[m>>2]|0;n=f;c[n>>2]=b;c[n+4>>2]=((b|0)<0)<<31>>31;break}}else{b=f;c[b>>2]=0;c[b+4>>2]=0}while(0);m=f;D=c[m+4>>2]|0;l=e;return c[m>>2]|0}function Ib(a){a=a|0;var b=0,e=0;b=l;l=l+16|0;e=b;c[e>>2]=a;l=b;return (d[c[e>>2]>>0]|0|(d[(c[e>>2]|0)+1>>0]|0)<<8)&65535|0}function Jb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f;k=f+8|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=-2;m=c[g>>2]|0;l=f;return m|0}c[k>>2]=xb(c[h>>2]|0,c[i>>2]|0)|0;if(!(c[k>>2]|0)){c[g>>2]=-20;m=c[g>>2]|0;l=f;return m|0}else{e=j;j=c[e+4>>2]|0;b=(c[k>>2]|0)+392|0;c[b>>2]=c[e>>2];c[b+4>>2]=j;c[g>>2]=Ab(c[h>>2]|0,c[i>>2]|0)|0;m=c[g>>2]|0;l=f;return m|0}return 0}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;e=l;l=l+48|0;f=e+44|0;g=e+40|0;h=e+36|0;i=e+32|0;j=e+16|0;k=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;Lb(j,c[h>>2]|0,c[i>>2]|0);Mb(j,104);i=Nb(j)|0;c[c[g>>2]>>2]=i;i=Nb(j)|0;c[(c[g>>2]|0)+4>>2]=i;i=Nb(j)|0;c[(c[g>>2]|0)+8>>2]=i;i=Nb(j)|0;c[(c[g>>2]|0)+12>>2]=i;i=Nb(j)|0;c[k>>2]=i;c[(c[g>>2]|0)+20>>2]=i;if((c[k>>2]|0)>>>0>=17){c[f>>2]=-1;o=c[f>>2]|0;l=e;return o|0}c[(c[g>>2]|0)+24>>2]=c[1544+(c[k>>2]<<3)>>2];c[(c[g>>2]|0)+28>>2]=c[1544+(c[k>>2]<<3)+4>>2];if(Ob(j)|0){i=Nb(j)|0;c[(c[g>>2]|0)+24>>2]=i;i=Nb(j)|0;c[(c[g>>2]|0)+28>>2]=i}if(Ob(j)|0){i=Nb(j)|0;c[(c[g>>2]|0)+16>>2]=i}if(Ob(j)|0){c[m>>2]=Nb(j)|0;i=(c[m>>2]|0)<2;p=i?c[m>>2]|0:0;q=i?c[g>>2]|0:c[g>>2]|0}else{p=c[1680+(c[k>>2]<<2)>>2]|0;q=c[g>>2]|0}c[q+40>>2]=p;c[(c[g>>2]|0)+44>>2]=c[1764+(c[k>>2]<<2)>>2];c[(c[g>>2]|0)+32>>2]=c[1932+(c[1848+(c[k>>2]<<2)>>2]<<3)>>2];c[(c[g>>2]|0)+36>>2]=c[1932+(c[1848+(c[k>>2]<<2)>>2]<<3)+4>>2];if(Ob(j)|0?(c[n>>2]=Nb(j)|0,c[(c[g>>2]|0)+32>>2]=c[1932+(c[n>>2]<<3)>>2],c[(c[g>>2]|0)+36>>2]=c[1932+(c[n>>2]<<3)+4>>2],(c[n>>2]|0)==0):0){n=Nb(j)|0;c[(c[g>>2]|0)+32>>2]=n;n=Nb(j)|0;c[(c[g>>2]|0)+36>>2]=n}c[f>>2]=0;o=c[f>>2]|0;l=e;return o|0}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]|0);c[(c[f>>2]|0)+12>>2]=8;l=e;return}function Mb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)-(c[f>>2]|0);while(1){if((c[(c[e>>2]|0)+12>>2]|0)>0)break;f=(c[e>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1;f=(c[e>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+8}l=d;return}function Nb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;while(1){a=(Pb(c[d>>2]|0,1)|0)!=0^1;g=c[e>>2]|0;if(!a)break;c[e>>2]=g+1;c[f>>2]=c[f>>2]<<1;a=Pb(c[d>>2]|0,1)|0;c[f>>2]=c[f>>2]|a}l=b;return (1<<g)-1+(c[f>>2]|0)|0}function Ob(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Pb(c[d>>2]|0,1)|0;l=b;return a|0}function Pb(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=0;while(1){if((c[h>>2]|0)<=0){k=9;break}if((c[(c[g>>2]|0)+4>>2]|0)>>>0>=(c[(c[g>>2]|0)+8>>2]|0)>>>0){k=9;break}b=(c[(c[g>>2]|0)+12>>2]|0)-(c[h>>2]|0)|0;c[i>>2]=b;m=d[c[(c[g>>2]|0)+4>>2]>>0]|0;if((b|0)>=0)break;c[j>>2]=c[j>>2]|(m&c[2020+(c[(c[g>>2]|0)+12>>2]<<2)>>2])<<0-(c[i>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0);b=(c[g>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+12>>2]=8}if((k|0)==9){c[f>>2]=c[j>>2];n=c[f>>2]|0;l=e;return n|0}c[j>>2]=c[j>>2]|m>>c[i>>2]&c[2020+(c[h>>2]<<2)>>2];i=(c[g>>2]|0)+12|0;c[i>>2]=(c[i>>2]|0)-(c[h>>2]|0);if(!(c[(c[g>>2]|0)+12>>2]|0)){h=(c[g>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[g>>2]|0)+12>>2]=8}c[f>>2]=c[j>>2];n=c[f>>2]|0;l=e;return n|0}function Qb(a){a=a|0;var b=0,e=0;b=l;l=l+16|0;e=b;c[e>>2]=a;l=b;return d[c[e>>2]>>0]|0|(d[(c[e>>2]|0)+1>>0]|0)<<8|(d[(c[e>>2]|0)+2>>0]|0)<<16|(d[(c[e>>2]|0)+3>>0]|0)<<24|0}function Rb(a){a=a|0;var b=0,e=0,f=0,g=0;b=l;l=l+16|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=d[c[e>>2]>>0]|0|(d[(c[e>>2]|0)+1>>0]|0)<<8|(d[(c[e>>2]|0)+2>>0]|0)<<16|(d[(c[e>>2]|0)+3>>0]|0)<<24;c[g>>2]=d[(c[e>>2]|0)+4>>0]|0|(d[(c[e>>2]|0)+5>>0]|0)<<8|(d[(c[e>>2]|0)+6>>0]|0)<<16|(d[(c[e>>2]|0)+7>>0]|0)<<24;D=c[g>>2]|0;l=b;return c[f>>2]|0}function Sb(a){a=a|0;var b=0,e=0;b=l;l=l+16|0;e=b;c[e>>2]=a;l=b;return ((d[c[e>>2]>>0]|0)<<8|(d[(c[e>>2]|0)+1>>0]|0))&65535|0}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;k=c[f>>2]|0;l=e;return k|0}c[j>>2]=xb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=-20;k=c[f>>2]|0;l=e;return k|0}else{c[(c[j>>2]|0)+368>>2]=c[i>>2];c[f>>2]=0;k=c[f>>2]|0;l=e;return k|0}return 0}function Ub(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(Vb(c[e>>2]|0)|0){c[d>>2]=0;g=c[d>>2]|0;l=b;return g|0}c[f>>2]=Cf(568)|0;if(!(c[f>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=b;return g|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+64>>2]=0;c[(c[f>>2]|0)+68>>2]=0;c[(c[f>>2]|0)+72>>2]=1024;c[(c[f>>2]|0)+76>>2]=0;e=Wb()|0;c[(c[f>>2]|0)+80>>2]=e;do if(c[(c[f>>2]|0)+80>>2]|0){c[(c[f>>2]|0)+84>>2]=0;c[(c[f>>2]|0)+88>>2]=0;c[(c[f>>2]|0)+92>>2]=0;c[(c[f>>2]|0)+96>>2]=0;c[(c[f>>2]|0)+100>>2]=0;c[(c[f>>2]|0)+104>>2]=0;e=Xb()|0;c[(c[f>>2]|0)+560>>2]=e;e=c[f>>2]|0;if(!(c[(c[f>>2]|0)+560>>2]|0)){Df(c[e+80>>2]|0);break}Yb(e)|0;c[d>>2]=c[f>>2];g=c[d>>2]|0;l=b;return g|0}while(0);Df(c[f>>2]|0);c[d>>2]=0;g=c[d>>2]|0;l=b;return g|0}function Vb(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;if(c[e>>2]&1|0)c[d>>2]=-11;else c[d>>2]=0;l=b;return c[d>>2]|0}function Wb(){var a=0,b=0,d=0,e=0;a=l;l=l+16|0;b=a+4|0;d=a;c[d>>2]=Cf(20)|0;if(!(c[d>>2]|0)){c[b>>2]=0;e=c[b>>2]|0;l=a;return e|0}else{c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+16>>2]=0;c[b>>2]=c[d>>2];e=c[b>>2]|0;l=a;return e|0}return 0}function Xb(){var a=0,b=0,d=0,e=0,f=0,g=0;a=l;l=l+16|0;b=a+12|0;d=a+8|0;e=a+4|0;f=a;c[d>>2]=Cf(8)|0;if(!(c[d>>2]|0)){c[b>>2]=0;g=c[b>>2]|0;l=a;return g|0}c[e>>2]=Cf(12)|0;if(!(c[e>>2]|0)){Df(c[d>>2]|0);c[b>>2]=0;g=c[b>>2]|0;l=a;return g|0}c[f>>2]=Cf(12)|0;if(!(c[f>>2]|0)){Df(c[e>>2]|0);Df(c[d>>2]|0);c[b>>2]=0;g=c[b>>2]|0;l=a;return g|0}else{c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[e>>2];c[c[f>>2]>>2]=0;c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=c[f>>2];c[b>>2]=c[d>>2];g=c[b>>2]|0;l=a;return g|0}return 0}function Yb(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+112;Na(c[e>>2]|0)|0;Ka((c[e>>2]|0)+32|0,-1)|0;c[(c[e>>2]|0)+392>>2]=-1;c[(c[e>>2]|0)+396>>2]=0;c[(c[e>>2]|0)+400>>2]=0;c[(c[e>>2]|0)+404>>2]=0;c[(c[e>>2]|0)+408>>2]=0;a=(c[e>>2]|0)+416|0;c[a>>2]=0;c[a+4>>2]=0;c[(c[e>>2]|0)+432>>2]=0;c[(c[e>>2]|0)+436>>2]=0;c[(c[e>>2]|0)+440>>2]=0;l=b;return c[d>>2]|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;a=c[e>>2]|0;do if(c[(c[e>>2]|0)+4>>2]|0)if((pf(c[a+4>>2]|0)|0)==-1)c[d>>2]=-10;else g=10;else{h=c[a+8>>2]|0;c[f>>2]=h;if(!h){c[d>>2]=-3;break}if(!(c[(c[f>>2]|0)+32>>2]|0)){c[d>>2]=-3;break}if((va[c[(c[f>>2]|0)+32>>2]&15](c[(c[f>>2]|0)+36>>2]|0)|0)==-1)c[d>>2]=-1;else g=10}while(0);if((g|0)==10)c[d>>2]=0;l=b;return c[d>>2]|0}function _b(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=-2;f=c[d>>2]|0;l=b;return f|0}$b(c[e>>2]|0)|0;bc(c[(c[e>>2]|0)+80>>2]|0,2)|0;cc(c[(c[e>>2]|0)+80>>2]|0);ec(c[(c[e>>2]|0)+560>>2]|0,3)|0;fc(c[(c[e>>2]|0)+560>>2]|0);if(c[(c[e>>2]|0)+96>>2]|0)Df(c[(c[e>>2]|0)+92>>2]|0);if(c[(c[e>>2]|0)+4>>2]|0?(of(c[(c[e>>2]|0)+4>>2]|0)|0)==-1:0){c[d>>2]=-10;f=c[d>>2]|0;l=b;return f|0}if(c[(c[e>>2]|0)+8>>2]|0){Zb(c[e>>2]|0)|0;Df(c[(c[e>>2]|0)+8>>2]|0)}Df(c[e>>2]|0);c[d>>2]=0;f=c[d>>2]|0;l=b;return f|0}function $b(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+112;La((c[e>>2]|0)+32|0)|0;Oa(c[e>>2]|0)|0;l=b;return c[d>>2]|0}function ac(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];ic(c[e>>2]|0)|0;if((c[(c[e>>2]|0)+336>>2]|0)!=-1)La(c[e>>2]|0)|0;if(c[(c[e>>2]|0)+456>>2]|0)Df(c[(c[e>>2]|0)+452>>2]|0);if(!(c[(c[e>>2]|0)+504>>2]|0)){f=c[e>>2]|0;Df(f);l=b;return 0}Df(c[(c[e>>2]|0)+504>>2]|0);f=c[e>>2]|0;Df(f);l=b;return 0}function bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;va[c[f>>2]&15](c[(c[(c[e>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}l=d;return 0}function cc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;hc(c[d>>2]|0);Df(c[d>>2]|0);l=b;return}function dc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];gc(c[e>>2]|0);l=b;return 1}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=l;l=l+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[i>>2]=0;c[g>>2]=c[c[c[e>>2]>>2]>>2];while(1){if((c[g>>2]|0)==(c[(c[e>>2]|0)+4>>2]|0)){k=7;break}c[j>>2]=va[c[f>>2]&15](c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==-1)c[i>>2]=-1;if(!(c[j>>2]|0)){k=7;break}c[h>>2]=c[c[g>>2]>>2];c[c[(c[g>>2]|0)+4>>2]>>2]=c[c[g>>2]>>2];c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];Df(c[g>>2]|0);c[g>>2]=c[h>>2]}if((k|0)==7){l=d;return c[i>>2]|0}return 0}function fc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[c[d>>2]>>2]>>2];while(1){if(!(c[e>>2]|0))break;Df(c[(c[e>>2]|0)+4>>2]|0);c[e>>2]=c[c[e>>2]>>2]}Df(c[(c[d>>2]|0)+4>>2]|0);Df(c[d>>2]|0);l=b;return}function gc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Df(c[c[d>>2]>>2]|0);Df(c[d>>2]|0);l=b;return}function hc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;if(c[(c[d>>2]|0)+8>>2]|0){Df(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0}c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;l=b;return}function ic(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b;c[d>>2]=a;bc(c[(c[d>>2]|0)+416>>2]|0,1)|0;cc(c[(c[d>>2]|0)+416>>2]|0);c[(c[d>>2]|0)+416>>2]=0;if(!(c[(c[d>>2]|0)+412>>2]|0)){e=c[d>>2]|0;f=e+412|0;c[f>>2]=0;l=b;return 0}Df(c[(c[d>>2]|0)+412>>2]|0);e=c[d>>2]|0;f=e+412|0;c[f>>2]=0;l=b;return 0}function jc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){l=b;return}if(c[c[d>>2]>>2]|0)Df(c[c[d>>2]>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)Df(c[(c[d>>2]|0)+4>>2]|0);Df(c[d>>2]|0);l=b;return}function kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=l;l=l+16|0;d=b;e=b+12|0;f=b+8|0;c[e>>2]=a;do if(c[e>>2]|0)if(c[c[e>>2]>>2]&1|0){a=d;c[a>>2]=-3;c[a+4>>2]=-1;break}else{c[f>>2]=(c[e>>2]|0)+112;a=(c[f>>2]|0)+416|0;g=c[a+4>>2]|0;h=d;c[h>>2]=c[a>>2];c[h+4>>2]=g;break}else{g=d;c[g>>2]=-2;c[g+4>>2]=-1}while(0);f=d;D=c[f+4>>2]|0;l=b;return c[f>>2]|0}function lc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=l;l=l+16|0;d=b;e=b+8|0;c[e>>2]=a;do if(c[e>>2]|0)if(c[c[e>>2]>>2]&1|0){a=d;c[a>>2]=-3;c[a+4>>2]=-1;break}else{a=(c[e>>2]|0)+112+424|0;f=c[a+4>>2]|0;g=d;c[g>>2]=c[a>>2];c[g+4>>2]=f;break}else{f=d;c[f>>2]=-2;c[f+4>>2]=-1}while(0);e=d;D=c[e+4>>2]|0;l=b;return c[e>>2]|0}function mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;d=l;l=l+48|0;e=d+36|0;f=d+32|0;g=d+28|0;h=d+24|0;i=d+20|0;j=d+16|0;k=d+12|0;m=d+8|0;n=d+4|0;o=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=1;c[m>>2]=c[g>>2];c[n>>2]=0;c[o>>2]=0;if(!(c[f>>2]|0)){c[e>>2]=-2;p=c[e>>2]|0;l=d;return p|0}if(c[c[f>>2]>>2]&1|0){c[e>>2]=-3;p=c[e>>2]|0;l=d;return p|0}g=c[(c[f>>2]|0)+76>>2]|0;c[o>>2]=g;b=c[f>>2]|0;if(g|0){c[b+76>>2]=0;c[e>>2]=nc(c[o>>2]|0)|0;p=c[e>>2]|0;l=d;return p|0}c[h>>2]=b+112;c[o>>2]=oc(c[f>>2]|0)|0;if((c[o>>2]|0)==-18){c[e>>2]=c[o>>2];p=c[e>>2]|0;l=d;return p|0}while(1){if(!((c[o>>2]|0)!=-1&(c[o>>2]|0)!=1&(c[k>>2]|0)>0&(c[m>>2]|0)>0)){q=15;break}c[j>>2]=(c[m>>2]|0)<65536?c[m>>2]|0:65536;c[i>>2]=Pa(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=pc(c[f>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==-10){q=11;break}if((c[k>>2]|0)<=0)continue;Qa(c[h>>2]|0,c[k>>2]|0)|0;c[m>>2]=(c[m>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0);c[o>>2]=oc(c[f>>2]|0)|0;if((c[o>>2]|0)==-18|(c[o>>2]|0)==-17){q=14;break}}if((q|0)==11){c[e>>2]=-10;p=c[e>>2]|0;l=d;return p|0}else if((q|0)==14){c[e>>2]=c[o>>2];p=c[e>>2]|0;l=d;return p|0}else if((q|0)==15){if((c[o>>2]|0)==-1)qc(c[f>>2]|0)|0;if(c[n>>2]|0){if((c[o>>2]|0)==-404)c[o>>2]=0;c[(c[f>>2]|0)+76>>2]=c[o>>2];c[e>>2]=c[n>>2];p=c[e>>2]|0;l=d;return p|0}switch(c[k>>2]|0){case -10:case -16:{c[e>>2]=c[k>>2];p=c[e>>2]|0;l=d;return p|0}default:{}}if((c[o>>2]|0)==-404){c[e>>2]=0;p=c[e>>2]|0;l=d;return p|0}else{c[e>>2]=nc(c[o>>2]|0)|0;p=c[e>>2]|0;l=d;return p|0}}return 0}function nc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;switch(c[e>>2]|0){case 0:{c[d>>2]=0;break}case 1:{c[d>>2]=-14;break}case -1:{c[d>>2]=-15;break}default:c[d>>2]=c[e>>2]}l=b;return c[d>>2]|0}function oc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;b=l;l=l+160|0;d=b+148|0;e=b+144|0;f=b+140|0;g=b+136|0;h=b+132|0;i=b+128|0;j=b+124|0;k=b+120|0;m=b+24|0;n=b+104|0;o=b+96|0;p=b+16|0;q=b+92|0;r=b+88|0;s=b+84|0;t=b+8|0;u=b+80|0;v=b;c[e>>2]=a;c[f>>2]=(c[e>>2]|0)+112;c[o>>2]=0;c[i>>2]=m;c[j>>2]=m+32;a:while(1){if(c[o>>2]|0){w=76;break}b:do if((c[o>>2]|0)==0?(c[(c[f>>2]|0)+392>>2]|0)!=-1:0)do{c[k>>2]=c[(c[f>>2]|0)+392>>2];c[g>>2]=xb(c[e>>2]|0,c[k>>2]|0)|0;if((c[g>>2]|0)==0?(a=zc(c[e>>2]|0,c[k>>2]|0)|0,c[g>>2]=a,(a|0)==0):0){w=7;break a}c[h>>2]=c[g>>2];c[q>>2]=Va(c[h>>2]|0,c[i>>2]|0)|0;if((c[q>>2]|0)==-1){a=(c[g>>2]|0)+440|0;x=c[a+4>>2]|0;y=(c[(c[g>>2]|0)+364>>2]|0)-1|0;z=((y|0)<0)<<31>>31;if((x|0)<(z|0)|((x|0)==(z|0)?(c[a>>2]|0)>>>0<y>>>0:0)){w=10;break a}c[q>>2]=Va(c[h>>2]|0,c[i>>2]|0)|0;if((c[q>>2]|0)==-1){w=12;break a}c[(c[f>>2]|0)+440>>2]=1;c[(c[f>>2]|0)+436>>2]=c[(c[e>>2]|0)+64>>2];c[(c[f>>2]|0)+444>>2]=1}if((c[q>>2]|0)<=0)break b;y=(c[g>>2]|0)+440|0;a=y;z=Lf(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=y;c[a>>2]=z;c[a+4>>2]=D;a=(c[i>>2]|0)+16|0;z=c[a+4>>2]|0;y=p;c[y>>2]=c[a>>2];c[y+4>>2]=z;c[r>>2]=Db(c[e>>2]|0,c[k>>2]|0)|0;do if(!((c[r>>2]|0)<0|(c[r>>2]|0)>=15)){if(((c[r>>2]|0)==6?1:(c[(c[g>>2]|0)+448>>2]|0)==0)?c[c[e>>2]>>2]&32|0:0)Ac(c[e>>2]|0,c[i>>2]|0,c[k>>2]|0,0)|0;if(!(c[c[e>>2]>>2]&32)){z=p;y=c[z+4>>2]|0;a=(c[f>>2]|0)+424|0;c[a>>2]=c[z>>2];c[a+4>>2]=y;break}y=p;a=Bc(c[r>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[g>>2]|0,c[i>>2]|0)|0;y=(c[f>>2]|0)+424|0;c[y>>2]=a;c[y+4>>2]=D;y=p;if(((c[y>>2]|0)!=-1?1:(c[y+4>>2]|0)!=-1)?(y=(c[f>>2]|0)+424|0,a=c[y+4>>2]|0,z=p,x=c[z+4>>2]|0,(a|0)<(x|0)|((a|0)==(x|0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0)):0){z=p;y=c[z+4>>2]|0;x=(c[f>>2]|0)+424|0;c[x>>2]=c[z>>2];c[x+4>>2]=y}}else{y=p;x=c[y+4>>2]|0;z=(c[f>>2]|0)+424|0;c[z>>2]=c[y>>2];c[z+4>>2]=x}while(0);x=(c[f>>2]|0)+424|0;z=c[x+4>>2]|0;y=(c[g>>2]|0)+488|0;c[y>>2]=c[x>>2];c[y+4>>2]=z;if(!(!(c[(c[e>>2]|0)+88>>2]|0)?!(c[(c[g>>2]|0)+448>>2]|0):0))w=27;if((w|0)==27?(w=0,z=(c[f>>2]|0)+424|0,(c[z>>2]|0)!=-1?1:(c[z+4>>2]|0)!=-1):0){z=(c[f>>2]|0)+424|0;y=Cc(c[e>>2]|0,c[k>>2]|0,c[z>>2]|0,c[z+4>>2]|0)|0;z=(c[f>>2]|0)+416|0;c[z>>2]=y;c[z+4>>2]=D}z=(c[g>>2]|0)+440|0;if((c[z>>2]|0)==1&(c[z+4>>2]|0)==0)Dc(c[e>>2]|0,c[g>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;z=(c[f>>2]|0)+424|0;y=c[z+4>>2]|0;x=c[j>>2]|0;c[x>>2]=c[z>>2];c[x+4>>2]=y;c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+436>>2];c[(c[j>>2]|0)+12>>2]=c[(c[e>>2]|0)+64>>2];c[(c[j>>2]|0)+16>>2]=c[(c[f>>2]|0)+440>>2];c[(c[j>>2]|0)+20>>2]=c[(c[f>>2]|0)+444>>2];do if(c[c[e>>2]>>2]&32|0){y=(c[f>>2]|0)+424|0;x=c[e>>2]|0;if((c[y>>2]|0)==-1?(c[y+4>>2]|0)==-1:0){c[s>>2]=Ec(x,m,c[k>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;Fc(c[(c[e>>2]|0)+560>>2]|0,c[s>>2]|0)|0;w=45;break}if(!(Gc(c[x+560>>2]|0)|0)){x=(c[g>>2]|0)+488|0;y=c[x+4>>2]|0;z=t;c[z>>2]=c[x>>2];c[z+4>>2]=y;c[(c[g>>2]|0)+508>>2]=c[i>>2];Ic(c[(c[e>>2]|0)+560>>2]|0,4);c[(c[e>>2]|0)+76>>2]=0;if((ec(c[(c[e>>2]|0)+560>>2]|0,5)|0)==-1){w=36;break a}y=(c[e>>2]|0)+76|0;if((c[(c[e>>2]|0)+76>>2]|0)>0){c[o>>2]=c[y>>2];c[(c[e>>2]|0)+76>>2]=0;break}c[y>>2]=0;y=t;z=c[y+4>>2]|0;x=(c[g>>2]|0)+488|0;c[x>>2]=c[y>>2];c[x+4>>2]=z;if(!(Gc(c[(c[e>>2]|0)+560>>2]|0)|0)){c[u>>2]=Ec(c[e>>2]|0,m,c[k>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;Fc(c[(c[e>>2]|0)+560>>2]|0,c[u>>2]|0)|0;w=45}else w=41}else w=41}else w=41;while(0);do if((w|0)==41){w=0;if(c[(c[g>>2]|0)+468>>2]|0){c[o>>2]=wa[c[(c[g>>2]|0)+468>>2]&15](c[e>>2]|0,m,c[k>>2]|0,c[(c[g>>2]|0)+472>>2]|0)|0;w=45;break}if(c[(c[f>>2]|0)+396>>2]|0){c[o>>2]=wa[c[(c[f>>2]|0)+396>>2]&15](c[e>>2]|0,m,c[k>>2]|0,c[(c[f>>2]|0)+400>>2]|0)|0;w=45}else w=45}while(0);if((w|0)==45){w=0;if((c[(c[f>>2]|0)+436>>2]|0)==(c[(c[e>>2]|0)+64>>2]|0)){z=(c[f>>2]|0)+444|0;c[z>>2]=(c[z>>2]|0)+1}else{c[(c[f>>2]|0)+436>>2]=c[(c[e>>2]|0)+64>>2];c[(c[f>>2]|0)+444>>2]=1}c[(c[f>>2]|0)+440>>2]=1;if(!(c[(c[i>>2]|0)+8>>2]|0))c[(c[g>>2]|0)+420>>2]=1}}while(!(c[o>>2]|0));while(0);if((c[o>>2]|0)==1|(c[o>>2]|0)==-1|(c[o>>2]|0)==-17){w=51;break}if((Kc(c[e>>2]|0,n)|0)<0){w=53;break}c[k>>2]=Ja(n)|0;c[(c[f>>2]|0)+392>>2]=c[k>>2];c[g>>2]=xb(c[e>>2]|0,c[k>>2]|0)|0;z=c[e>>2]|0;x=c[k>>2]|0;if(!(c[g>>2]|0)){y=zc(z,x)|0;c[g>>2]=y;if(!y){w=56;break}Lc(c[e>>2]|0,n,c[k>>2]|0)|0;if(c[c[e>>2]>>2]&32|0)Mc(c[e>>2]|0,n,c[k>>2]|0,0)|0}else if((Db(z,x)|0)==9)Lc(c[e>>2]|0,n,c[k>>2]|0)|0;c[h>>2]=c[g>>2];x=Ia(n)|0;z=v;c[z>>2]=x;c[z+4>>2]=D;z=v;x=c[z+4>>2]|0;y=(c[g>>2]|0)+496|0;c[y>>2]=c[z>>2];c[y+4>>2]=x;if(c[(c[e>>2]|0)+88>>2]|0){x=v;if((c[x>>2]|0)!=-1?1:(c[x+4>>2]|0)!=-1)w=64;else w=65}else{x=v;if((c[(c[g>>2]|0)+448>>2]|0)!=0&((c[x>>2]|0)!=-1?1:(c[x+4>>2]|0)!=-1))w=64;else w=65}if((w|0)==64){w=0;x=v;y=Cc(c[e>>2]|0,c[k>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;A=c[f>>2]|0;B=y;C=D;w=67}else if((w|0)==65?(w=0,y=v,(c[y>>2]|0)==0&(c[y+4>>2]|0)==0):0){A=c[f>>2]|0;B=0;C=0;w=67}if((w|0)==67){w=0;y=A+416|0;c[y>>2]=B;c[y+4>>2]=C}if(!(c[(c[g>>2]|0)+476>>2]|0)){if(c[(c[f>>2]|0)+404>>2]|0)c[o>>2]=wa[c[(c[f>>2]|0)+404>>2]&15](c[e>>2]|0,n,c[k>>2]|0,c[(c[f>>2]|0)+408>>2]|0)|0}else c[o>>2]=wa[c[(c[g>>2]|0)+476>>2]&15](c[e>>2]|0,n,c[k>>2]|0,c[(c[g>>2]|0)+480>>2]|0)|0;Sa(c[h>>2]|0,n)|0;y=(Ga(n)|0)!=0;x=(c[f>>2]|0)+440|0;if(!y){c[x>>2]=1;c[(c[f>>2]|0)+436>>2]=c[(c[e>>2]|0)+64>>2];c[(c[f>>2]|0)+444>>2]=0;continue}if((c[x>>2]|0)==-1)continue;x=(c[f>>2]|0)+440|0;c[x>>2]=(c[x>>2]|0)+1}if((w|0)==7){c[d>>2]=-18;E=c[d>>2]|0;l=b;return E|0}else if((w|0)==10){c[d>>2]=-17;E=c[d>>2]|0;l=b;return E|0}else if((w|0)==12){c[d>>2]=-17;E=c[d>>2]|0;l=b;return E|0}else if((w|0)==36){c[d>>2]=-17;E=c[d>>2]|0;l=b;return E|0}else if((w|0)==51){c[d>>2]=c[o>>2];E=c[d>>2]|0;l=b;return E|0}else if((w|0)==53){c[d>>2]=-404;E=c[d>>2]|0;l=b;return E|0}else if((w|0)==56){c[d>>2]=-18;E=c[d>>2]|0;l=b;return E|0}else if((w|0)==76){c[d>>2]=c[o>>2];E=c[d>>2]|0;l=b;return E|0}return 0}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;e=l;l=l+32|0;f=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;d=c[g>>2]|0;do if(c[(c[g>>2]|0)+4>>2]|0){b=zf(c[d+4>>2]|0)|0;a=jf(b,c[h>>2]|0,c[i>>2]|0)|0;c[k>>2]=a;if((a|0)==0?rf(c[(c[g>>2]|0)+4>>2]|0)|0:0){c[f>>2]=-10;m=c[f>>2]|0;l=e;return m|0}}else{a=c[d+8>>2]|0;c[j>>2]=a;if(!a){c[f>>2]=-3;m=c[f>>2]|0;l=e;return m|0}if(c[c[j>>2]>>2]|0){c[k>>2]=ta[c[c[j>>2]>>2]&7](c[(c[j>>2]|0)+4>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;break}c[f>>2]=-1;m=c[f>>2]|0;l=e;return m|0}while(0);c[f>>2]=c[k>>2];m=c[f>>2]|0;l=e;return m|0}function qc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(!(c[e>>2]|0))c[d>>2]=-2;else{if(c[c[e>>2]>>2]&1|0){c[d>>2]=-3;break}rc(c[e>>2]|0);if(c[(c[e>>2]|0)+4>>2]|0?(sc(c[e>>2]|0,c[(c[e>>2]|0)+64>>2]|0,-1,-1,0)|0)<0:0){c[d>>2]=-10;break}c[d>>2]=0}while(0);l=b;return c[d>>2]|0}function rc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;bc(c[(c[d>>2]|0)+80>>2]|0,6)|0;l=b;return}function sc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;h=g+16|0;i=g+12|0;j=g;k=g+8|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;rc(c[h>>2]|0);f=j;j=tc(c[h>>2]|0,c[i>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[k>>2]|0)|0;l=g;return j|0}function tc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;g=l;l=l+32|0;h=g+28|0;i=g+24|0;j=g+20|0;k=g;m=g+16|0;n=g+12|0;o=g+8|0;c[i>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=(c[i>>2]|0)+112;c[o>>2]=uc(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;if((c[o>>2]|0)==-1){c[h>>2]=-1;p=c[h>>2]|0;l=g;return p|0}c[(c[i>>2]|0)+64>>2]=c[o>>2];i=k;if((c[i>>2]|0)!=-1?1:(c[i+4>>2]|0)!=-1){i=k;k=c[i+4>>2]|0;m=(c[n>>2]|0)+416|0;c[m>>2]=c[i>>2];c[m+4>>2]=k}c[h>>2]=c[o>>2];p=c[h>>2]|0;l=g;return p|0}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;e=l;l=l+32|0;f=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=(c[g>>2]|0)+112;if((vc(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0)==-1){c[f>>2]=-1;m=c[f>>2]|0;l=e;return m|0}else{c[k>>2]=wc(c[g>>2]|0)|0;c[(c[g>>2]|0)+64>>2]=c[k>>2];Ta(c[j>>2]|0)|0;bc(c[(c[g>>2]|0)+80>>2]|0,7)|0;c[f>>2]=c[k>>2];m=c[f>>2]|0;l=e;return m|0}return 0}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;d=c[g>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0){if((sf(c[d+4>>2]|0,c[h>>2]|0,c[i>>2]|0)|0)==-1){ve()|0;c[f>>2]=-10;k=c[f>>2]|0;l=e;return k|0}}else{g=c[d+8>>2]|0;c[j>>2]=g;if(!g){c[f>>2]=-3;k=c[f>>2]|0;l=e;return k|0}if(!(c[(c[j>>2]|0)+16>>2]|0)){c[f>>2]=-1;k=c[f>>2]|0;l=e;return k|0}if((ta[c[(c[j>>2]|0)+16>>2]&7](c[(c[j>>2]|0)+20>>2]|0,c[h>>2]|0,c[i>>2]|0)|0)==-1){c[f>>2]=-1;k=c[f>>2]|0;l=e;return k|0}}c[f>>2]=0;k=c[f>>2]|0;l=e;return k|0}function wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=l;l=l+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;a=c[e>>2]|0;do if(c[(c[e>>2]|0)+4>>2]|0){h=Af(c[a+4>>2]|0)|0;c[g>>2]=h;if((h|0)==-1){ve()|0;c[d>>2]=-1}else i=10}else{h=c[a+8>>2]|0;c[f>>2]=h;if(!h){c[d>>2]=-3;break}if(!(c[(c[f>>2]|0)+24>>2]|0)){c[d>>2]=-1;break}h=va[c[(c[f>>2]|0)+24>>2]&15](c[(c[f>>2]|0)+28>>2]|0)|0;c[g>>2]=h;if((h|0)==-1)c[d>>2]=-1;else i=10}while(0);if((i|0)==10)c[d>>2]=c[g>>2];l=b;return c[d>>2]|0}function xc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+488|0;c[a>>2]=-1;c[a+4>>2]=-1;l=b;return 0}function yc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if((c[(c[e>>2]|0)+336>>2]|0)==-1){l=b;return 0}Ua(c[e>>2]|0)|0;l=b;return 0}function zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Cf(512)|0;if(!(c[h>>2]|0)){c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}Ka(c[h>>2]|0,c[g>>2]|0)|0;g=(gd(c[h>>2]|0)|0)==-1;b=c[h>>2]|0;if(g){Df(b);c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}else{c[b+360>>2]=15;c[(c[h>>2]|0)+364>>2]=3;c[(c[h>>2]|0)+368>>2]=0;b=(c[h>>2]|0)+376|0;c[b>>2]=1;c[b+4>>2]=0;b=(c[h>>2]|0)+384|0;c[b>>2]=1;c[b+4>>2]=0;b=(c[h>>2]|0)+392|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+400|0;c[b>>2]=0;c[b+4>>2]=0;c[(c[h>>2]|0)+408>>2]=0;c[(c[h>>2]|0)+420>>2]=0;c[(c[h>>2]|0)+424>>2]=1;c[(c[h>>2]|0)+428>>2]=0;b=(c[h>>2]|0)+432|0;c[b>>2]=0;c[b+4>>2]=0;b=(c[h>>2]|0)+440|0;c[b>>2]=-1;c[b+4>>2]=-1;c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+452>>2]=0;c[(c[h>>2]|0)+456>>2]=0;c[(c[h>>2]|0)+460>>2]=0;c[(c[h>>2]|0)+464>>2]=0;c[(c[h>>2]|0)+468>>2]=0;c[(c[h>>2]|0)+472>>2]=0;c[(c[h>>2]|0)+476>>2]=0;c[(c[h>>2]|0)+480>>2]=0;c[(c[h>>2]|0)+504>>2]=0;$c(c[(c[f>>2]|0)+80>>2]|0,c[h>>2]|0)|0;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=d;return i|0}return 0}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f+8|0;k=f+4|0;m=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;c[m>>2]=Db(c[h>>2]|0,c[j>>2]|0)|0;if((c[m>>2]|0)<0|(c[m>>2]|0)>=15){c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}if((c[m>>2]|0)==6?(c[(c[i>>2]|0)+8>>2]|0)==0:0){c[g>>2]=Nc(c[h>>2]|0,c[j>>2]|0,c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[k>>2]|0)|0;n=c[g>>2]|0;l=f;return n|0}c[g>>2]=ya[c[1032+((c[m>>2]|0)*24|0)+12>>2]&31](c[h>>2]|0,c[j>>2]|0,c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[k>>2]|0)|0;n=c[g>>2]|0;l=f;return n|0}function Bc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=l;l=l+48|0;h=g+16|0;i=g+32|0;j=g+8|0;k=g+28|0;m=g+24|0;n=g;c[i>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[m>>2]=f;if(c[1032+((c[i>>2]|0)*24|0)+16>>2]|0){f=j;e=wa[c[1032+((c[i>>2]|0)*24|0)+16>>2]&15](c[f>>2]|0,c[f+4>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;m=n;c[m>>2]=e;c[m+4>>2]=D;m=n;n=c[m+4>>2]|0;e=h;c[e>>2]=c[m>>2];c[e+4>>2]=n;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;D=t;l=g;return q|0}else{n=j;j=c[n+4>>2]|0;e=h;c[e>>2]=c[n>>2];c[e+4>>2]=j;o=h;p=o;q=c[p>>2]|0;r=o+4|0;s=r;t=c[s>>2]|0;D=t;l=g;return q|0}return 0}function Cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;g=f+8|0;h=f+24|0;i=f+20|0;j=f;k=f+16|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;do if(!(c[h>>2]|0)){e=g;c[e>>2]=-2;c[e+4>>2]=-1}else{e=j;if((c[e>>2]|0)==-1?(c[e+4>>2]|0)==-1:0){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}e=c[h>>2]|0;if((c[i>>2]|0)==-1){if(c[e+88>>2]|0){b=j;d=ya[c[(c[h>>2]|0)+88>>2]&31](c[h>>2]|0,c[i>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[(c[h>>2]|0)+92>>2]|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=D;break}}else{c[k>>2]=xb(e,c[i>>2]|0)|0;if(!(c[k>>2]|0)){e=g;c[e>>2]=-1;c[e+4>>2]=-1;break}if(c[(c[k>>2]|0)+448>>2]|0){e=j;b=ya[c[(c[k>>2]|0)+448>>2]&31](c[h>>2]|0,c[i>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[k>>2]|0)+452>>2]|0)|0;e=g;c[e>>2]=b;c[e+4>>2]=D;break}if(c[(c[h>>2]|0)+88>>2]|0){e=j;b=ya[c[(c[h>>2]|0)+88>>2]&31](c[h>>2]|0,c[i>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[h>>2]|0)+92>>2]|0)|0;e=g;c[e>>2]=b;c[e+4>>2]=D;break}}e=g;c[e>>2]=-1;c[e+4>>2]=-1}while(0);h=g;D=c[h+4>>2]|0;l=f;return c[h>>2]|0}function Dc(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;h=g+20|0;i=g+16|0;j=g+12|0;k=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=-1;c[n>>2]=-1;switch(c[(c[i>>2]|0)+360>>2]|0){case 1:{if((c[(c[k>>2]|0)+4>>2]|0)>7?(De(c[c[k>>2]>>2]|0,2728,7)|0)==0:0)c[m>>2]=7;break}case 3:case 2:{c[m>>2]=0;break}case 0:{if((c[(c[k>>2]|0)+4>>2]|0)>7?(De(c[c[k>>2]>>2]|0,2736,7)|0)==0:0)c[m>>2]=7;break}case 11:{if((c[(c[k>>2]|0)+4>>2]|0)>9?(De(c[c[k>>2]>>2]|0,2744,8)|0)==0:0)c[m>>2]=9;break}case 8:{if((c[(c[k>>2]|0)+4>>2]|0)>4?((d[c[c[k>>2]>>2]>>0]|0)&7|0)==4:0){c[n>>2]=((d[(c[c[k>>2]>>2]|0)+1>>0]|0)<<16)+((d[(c[c[k>>2]>>2]|0)+2>>0]|0)<<8)+(d[(c[c[k>>2]>>2]|0)+3>>0]|0);c[m>>2]=4}break}case 13:{if((c[(c[k>>2]|0)+4>>2]|0)>8?(De(c[c[k>>2]>>2]|0,2753,8)|0)==0:0)c[m>>2]=8;break}case 14:{if((c[(c[k>>2]|0)+4>>2]|0)>7?(De(c[c[k>>2]>>2]|0,2762,7)|0)==0:0)c[m>>2]=7;break}default:{}}if((c[n>>2]|0)==-1)c[n>>2]=(c[(c[k>>2]|0)+4>>2]|0)-(c[m>>2]|0);if((c[m>>2]|0)<0){l=g;return 0}Tc(c[h>>2]|0,c[j>>2]|0,(c[c[k>>2]>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0;l=g;return 0}function Ec(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;g=l;l=l+32|0;h=g+28|0;i=g+24|0;j=g+20|0;k=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;p=g;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[j>>2];f=Cf(72)|0;c[o>>2]=f;if(!f){c[h>>2]=0;q=c[h>>2]|0;l=g;return q|0}f=c[o>>2]|0;e=c[j>>2]|0;j=f+56|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(j|0));e=Cf(c[(c[p>>2]|0)+4>>2]|0)|0;c[c[o>>2]>>2]=e;f=c[o>>2]|0;if(!e){Df(f);c[h>>2]=0;q=c[h>>2]|0;l=g;return q|0}else{Wf(c[f>>2]|0,c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+56>>2]=c[m>>2];c[(c[o>>2]|0)+68>>2]=c[k>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2];c[(c[o>>2]|0)+64>>2]=c[i>>2];c[h>>2]=c[o>>2];q=c[h>>2]|0;l=g;return q|0}return 0}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-1;i=c[e>>2]|0;l=d;return i|0}c[h>>2]=Cf(12)|0;if(!(c[h>>2]|0)){c[e>>2]=-1;i=c[e>>2]|0;l=d;return i|0}else{c[(c[h>>2]|0)+8>>2]=c[g>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2];c[c[(c[h>>2]|0)+4>>2]>>2]=c[h>>2];c[(c[c[h>>2]>>2]|0)+4>>2]=c[h>>2];c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}return 0}function Gc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;l=b;return (c[c[c[d>>2]>>2]>>2]|0)==(c[(c[d>>2]|0)+4>>2]|0)|0}function Hc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=(c[f>>2]|0)+32|0;do if(((c[e>>2]|0)==-1?(c[e+4>>2]|0)==-1:0)?(a=(c[(c[f>>2]|0)+56>>2]|0)+488|0,(c[a>>2]|0)!=-1?1:(c[a+4>>2]|0)!=-1):0){c[g>>2]=Db(c[(c[f>>2]|0)+64>>2]|0,c[(c[f>>2]|0)+68>>2]|0)|0;if(!((c[g>>2]|0)<0|(c[g>>2]|0)>=15)){a=(c[(c[f>>2]|0)+56>>2]|0)+488|0;h=Sc(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+56>>2]|0,c[f>>2]|0,c[(c[(c[f>>2]|0)+56>>2]|0)+508>>2]|0)|0;a=(c[f>>2]|0)+32|0;c[a>>2]=h;c[a+4>>2]=D;a=(c[f>>2]|0)+32|0;h=c[a+4>>2]|0;i=(c[(c[f>>2]|0)+56>>2]|0)+488|0;c[i>>2]=c[a>>2];c[i+4>>2]=h;c[(c[(c[f>>2]|0)+56>>2]|0)+508>>2]=c[f>>2];break}c[d>>2]=0;j=c[d>>2]|0;l=b;return j|0}while(0);c[d>>2]=1;j=c[d>>2]|0;l=b;return j|0}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2];while(1){if((c[g>>2]|0)==(c[c[e>>2]>>2]|0)){h=5;break}if(!(va[c[f>>2]&15](c[(c[g>>2]|0)+8>>2]|0)|0)){h=5;break}c[g>>2]=c[(c[g>>2]|0)+4>>2]}if((h|0)==5){l=d;return}}function Jc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=l;l=l+32|0;d=b+28|0;e=b+24|0;f=b+20|0;g=b+8|0;h=b;i=b+16|0;c[e>>2]=a;c[f>>2]=c[e>>2];e=(c[f>>2]|0)+32|0;if((c[e>>2]|0)==-1?(c[e+4>>2]|0)==-1:0){c[d>>2]=0;j=c[d>>2]|0;l=b;return j|0}e=(c[(c[f>>2]|0)+60>>2]|0)+424|0;a=c[e+4>>2]|0;k=g;c[k>>2]=c[e>>2];c[k+4>>2]=a;a=(c[(c[f>>2]|0)+60>>2]|0)+416|0;k=c[a+4>>2]|0;e=h;c[e>>2]=c[a>>2];c[e+4>>2]=k;k=(c[f>>2]|0)+32|0;e=c[k+4>>2]|0;a=(c[(c[f>>2]|0)+60>>2]|0)+424|0;c[a>>2]=c[k>>2];c[a+4>>2]=e;e=(c[f>>2]|0)+32|0;a=Cc(c[(c[f>>2]|0)+64>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=(c[(c[f>>2]|0)+60>>2]|0)+416|0;c[e>>2]=a;c[e+4>>2]=D;e=c[f>>2]|0;if(c[(c[(c[f>>2]|0)+56>>2]|0)+468>>2]|0){a=wa[c[(c[e+56>>2]|0)+468>>2]&15](c[(c[f>>2]|0)+64>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[(c[(c[f>>2]|0)+56>>2]|0)+472>>2]|0)|0;c[i>>2]=a;if((a|0)<0?(c[(c[(c[f>>2]|0)+64>>2]|0)+76>>2]=c[i>>2],(c[i>>2]|0)==-1):0){c[d>>2]=-1;j=c[d>>2]|0;l=b;return j|0}}else if((c[(c[e+60>>2]|0)+396>>2]|0?(e=wa[c[(c[(c[f>>2]|0)+60>>2]|0)+396>>2]&15](c[(c[f>>2]|0)+64>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[(c[(c[f>>2]|0)+60>>2]|0)+400>>2]|0)|0,c[i>>2]=e,(e|0)<0):0)?(c[(c[(c[f>>2]|0)+64>>2]|0)+76>>2]=c[i>>2],(c[i>>2]|0)==-1):0){c[d>>2]=-1;j=c[d>>2]|0;l=b;return j|0}i=g;g=c[i+4>>2]|0;e=(c[(c[f>>2]|0)+60>>2]|0)+424|0;c[e>>2]=c[i>>2];c[e+4>>2]=g;g=h;h=c[g+4>>2]|0;e=(c[(c[f>>2]|0)+60>>2]|0)+416|0;c[e>>2]=c[g>>2];c[e+4>>2]=h;gc(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;l=b;return j|0}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;d=l;l=l+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=(c[f>>2]|0)+112;c[j>>2]=0;b=(c[f>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+(c[(c[h>>2]|0)+432>>2]|0);while(1){c[i>>2]=Ra(c[h>>2]|0,c[g>>2]|0)|0;if(!(c[i>>2]|0)){k=3;break}b=c[i>>2]|0;if((c[i>>2]|0)<0){a=(c[f>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+(0-b)}else{c[(c[h>>2]|0)+432>>2]=b;c[j>>2]=1}if(!((c[j>>2]|0)!=0^1)){k=8;break}}if((k|0)==3){c[e>>2]=-2;m=c[e>>2]|0;l=d;return m|0}else if((k|0)==8){c[e>>2]=c[(c[f>>2]|0)+64>>2];m=c[e>>2]|0;l=d;return m|0}return 0}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Qc(c[f>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=e;return d|0}function Mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f+8|0;k=f+4|0;m=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;c[m>>2]=Db(c[h>>2]|0,c[j>>2]|0)|0;if((c[m>>2]|0)<0|(c[m>>2]|0)>=15){c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}if((c[m>>2]|0)==6?(Ha(c[i>>2]|0)|0)==0:0){c[g>>2]=Nc(c[h>>2]|0,c[j>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[k>>2]|0)|0;n=c[g>>2]|0;l=f;return n|0}c[g>>2]=ya[c[1032+((c[m>>2]|0)*24|0)+12>>2]&31](c[h>>2]|0,c[j>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[k>>2]|0)|0;n=c[g>>2]|0;l=f;return n|0}function Nc(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=l;l=l+64|0;i=h+52|0;j=h+48|0;k=h+44|0;m=h+40|0;n=h+36|0;o=h+28|0;p=h+24|0;q=h+8|0;r=h;s=h+20|0;t=h+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[h+32>>2]=g;c[o>>2]=c[m>>2];m=q;c[m>>2]=0;c[m+4>>2]=0;m=r;c[m>>2]=0;c[m+4>>2]=0;if((c[n>>2]|0)<48){c[i>>2]=0;u=c[i>>2]|0;l=h;return u|0}c[p>>2]=Qb((c[o>>2]|0)+12|0)|0;if(Oc(c[j>>2]|0,c[p>>2]|0)|0){c[i>>2]=1;u=c[i>>2]|0;l=h;return u|0}else{n=Rb((c[o>>2]|0)+20|0)|0;m=q;c[m>>2]=n;c[m+4>>2]=D;m=Rb((c[o>>2]|0)+28|0)|0;n=r;c[n>>2]=m;c[n+4>>2]=D;c[s>>2]=d[(c[o>>2]|0)+48>>0];o=c[j>>2]|0;n=c[p>>2]|0;m=q;q=c[m>>2]|0;g=c[m+4>>2]|0;m=r;r=Uf(1e3,0,c[m>>2]|0,c[m+4>>2]|0)|0;ub(o,n,q,g,r,D)|0;vb(c[j>>2]|0,c[p>>2]|0,c[s>>2]|0)|0;c[t>>2]=Pc(c[j>>2]|0,c[k>>2]|0)|0;wb(c[j>>2]|0,c[k>>2]|0,(c[t>>2]|0)+1|0)|0;c[i>>2]=1;u=c[i>>2]|0;l=h;return u|0}return 0}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;do if(!(c[(c[f>>2]|0)+88>>2]|0)){c[h>>2]=xb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;break}if(c[(c[h>>2]|0)+448>>2]|0){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);l=d;return c[e>>2]|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-2;i=c[e>>2]|0;l=d;return i|0}c[h>>2]=xb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;i=c[e>>2]|0;l=d;return i|0}else{c[e>>2]=c[(c[h>>2]|0)+364>>2];i=c[e>>2]|0;l=d;return i|0}return 0}function Qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;f=l;l=l+32|0;g=f+24|0;h=f+20|0;i=f+16|0;j=f+12|0;k=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=15){o=7;break}c[n>>2]=1032+((c[m>>2]|0)*24|0);if((c[k>>2]|0)>=(c[(c[n>>2]|0)+4>>2]|0)?(De(c[j>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0)|0)==0:0){o=5;break}c[m>>2]=(c[m>>2]|0)+1}if((o|0)==5){Rc(c[h>>2]|0,c[i>>2]|0,c[m>>2]|0)|0;c[g>>2]=1;p=c[g>>2]|0;l=f;return p|0}else if((o|0)==7){Rc(c[h>>2]|0,c[i>>2]|0,15)|0;c[g>>2]=0;p=c[g>>2]|0;l=f;return p|0}return 0}function Rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=xb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=-20;k=c[f>>2]|0;l=e;return k|0}else{c[(c[j>>2]|0)+360>>2]=c[i>>2];c[f>>2]=0;k=c[f>>2]|0;l=e;return k|0}return 0}function Sc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=l;l=l+32|0;i=h+8|0;j=h+28|0;k=h;m=h+24|0;n=h+20|0;o=h+16|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if(c[1032+((c[j>>2]|0)*24|0)+20>>2]|0){g=k;k=ya[c[1032+((c[j>>2]|0)*24|0)+20>>2]&31](c[g>>2]|0,c[g+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;o=i;c[o>>2]=k;c[o+4>>2]=D;p=i;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=h;return r|0}else{o=i;c[o>>2]=0;c[o+4>>2]=0;p=i;q=p;r=c[q>>2]|0;s=p+4|0;t=s;u=c[t>>2]|0;D=u;l=h;return r|0}return 0}function Tc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=l;l=l+64|0;h=g+56|0;i=g+52|0;j=g+48|0;k=g+44|0;m=g+40|0;n=g+36|0;o=g+32|0;p=g+28|0;q=g+24|0;r=g+20|0;s=g+16|0;t=g+12|0;u=g+8|0;v=g+4|0;w=g;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[o>>2]=c[k>>2];c[w>>2]=0;if((c[m>>2]|0)<8){c[h>>2]=-1;x=c[h>>2]|0;l=g;return x|0}c[t>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[s>>2]=a[(c[o>>2]|0)+3>>0]<<24&-16777216|a[(c[o>>2]|0)+2>>0]<<16&16711680|a[(c[o>>2]|0)+1>>0]<<8&65280|a[c[o>>2]>>0]&255;c[o>>2]=(c[o>>2]|0)+4;if((c[s>>2]|0)>>>0>((c[t>>2]|0)-(c[o>>2]|0)|0)>>>0){c[h>>2]=-1;x=c[h>>2]|0;l=g;return x|0}c[n>>2]=xb(c[i>>2]|0,c[j>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=-20;x=c[h>>2]|0;l=g;return x|0}if((c[s>>2]|0)>>>0>0){m=Uc(c[o>>2]|0,c[s>>2]|0)|0;c[w>>2]=m;if(!m){c[h>>2]=-18;x=c[h>>2]|0;l=g;return x|0}m=(Vc(c[i>>2]|0,c[j>>2]|0,c[w>>2]|0)|0)==-18;Df(c[w>>2]|0);if(m){c[h>>2]=-18;x=c[h>>2]|0;l=g;return x|0}}c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);if(((c[o>>2]|0)+4|0)>>>0>(c[t>>2]|0)>>>0){c[h>>2]=-1;x=c[h>>2]|0;l=g;return x|0}c[q>>2]=a[(c[o>>2]|0)+3>>0]<<24&-16777216|a[(c[o>>2]|0)+2>>0]<<16&16711680|a[(c[o>>2]|0)+1>>0]<<8&65280|a[c[o>>2]>>0]&255;c[o>>2]=(c[o>>2]|0)+4;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0)){y=34;break}if(((c[o>>2]|0)+4|0)>>>0>(c[t>>2]|0)>>>0){y=17;break}c[s>>2]=a[(c[o>>2]|0)+3>>0]<<24&-16777216|a[(c[o>>2]|0)+2>>0]<<16&16711680|a[(c[o>>2]|0)+1>>0]<<8&65280|a[c[o>>2]>>0]&255;c[o>>2]=(c[o>>2]|0)+4;if((c[s>>2]|0)>>>0>((c[t>>2]|0)-(c[o>>2]|0)|0)>>>0){y=19;break}c[r>>2]=0;c[u>>2]=c[o>>2];c[v>>2]=Wc(c[o>>2]|0,61,c[s>>2]|0)|0;if(c[v>>2]|0){a[c[v>>2]>>0]=0;c[v>>2]=(c[v>>2]|0)+1;c[r>>2]=(c[o>>2]|0)+(c[s>>2]|0)-(c[v>>2]|0)}if(c[r>>2]|0){m=Uc(c[v>>2]|0,c[r>>2]|0)|0;c[w>>2]=m;if(!m){y=24;break}m=(Xc(c[n>>2]|0,c[u>>2]|0,c[w>>2]|0)|0)==0;Df(c[w>>2]|0);if(m){y=26;break}}else{m=Uc(c[u>>2]|0,c[s>>2]|0)|0;c[w>>2]=m;if(!m){y=28;break}m=(Xc(c[n>>2]|0,c[w>>2]|0,0)|0)==0;Df(c[w>>2]|0);if(m){y=30;break}}if(c[v>>2]|0)a[(c[v>>2]|0)+-1>>0]=61;c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if((y|0)==17){c[h>>2]=-1;x=c[h>>2]|0;l=g;return x|0}else if((y|0)==19){c[h>>2]=-1;x=c[h>>2]|0;l=g;return x|0}else if((y|0)==24){c[h>>2]=-18;x=c[h>>2]|0;l=g;return x|0}else if((y|0)==26){c[h>>2]=-18;x=c[h>>2]|0;l=g;return x|0}else if((y|0)==28){c[h>>2]=-18;x=c[h>>2]|0;l=g;return x|0}else if((y|0)==30){c[h>>2]=-18;x=c[h>>2]|0;l=g;return x|0}else if((y|0)==34){c[h>>2]=0;x=c[h>>2]|0;l=g;return x|0}return 0}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[g>>2]=b;c[h>>2]=d;do if(c[g>>2]|0){if(!(c[h>>2]|0)){c[f>>2]=0;break}c[h>>2]=(c[h>>2]|0)>>>0<4294967294?c[h>>2]|0:-2;c[i>>2]=Cf((c[h>>2]|0)+1|0)|0;if(!(c[i>>2]|0)){c[f>>2]=0;break}d=(vf(c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==0;b=c[i>>2]|0;if(d){Df(b);c[f>>2]=0;break}else{a[b+(c[h>>2]|0)>>0]=0;c[f>>2]=c[i>>2];break}}else c[f>>2]=0;while(0);l=e;return c[f>>2]|0}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;k=c[f>>2]|0;l=e;return k|0}c[j>>2]=xb(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=-20;k=c[f>>2]|0;l=e;return k|0}if(c[(c[j>>2]|0)+412>>2]|0)Df(c[(c[j>>2]|0)+412>>2]|0);h=ed(c[i>>2]|0)|0;c[(c[j>>2]|0)+412>>2]=h;if(!h){c[f>>2]=-18;k=c[f>>2]|0;l=e;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;l=e;return k|0}return 0}function Wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+12|0;h=f+8|0;i=f+16|0;j=f+4|0;k=f;c[h>>2]=b;a[i>>0]=d;c[j>>2]=e;c[k>>2]=0;while(1){if(!(a[c[h>>2]>>0]|0)){m=7;break}if((c[k>>2]|0)>=(c[j>>2]|0)){m=7;break}if((a[c[h>>2]>>0]|0)==(a[i>>0]|0)){m=5;break}c[k>>2]=(c[k>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}if((m|0)==5){c[g>>2]=c[h>>2];n=c[g>>2]|0;l=f;return n|0}else if((m|0)==7){c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}return 0}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+32|0;f=e+24|0;g=e+20|0;h=e+16|0;i=e+12|0;j=e+8|0;k=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[m>>2]=0;a:while(1){d=c[m>>2]|0;if((d|0)>=(Yc(c[(c[g>>2]|0)+416>>2]|0)|0)){n=14;break}c[j>>2]=Zc(c[(c[g>>2]|0)+416>>2]|0,c[m>>2]|0)|0;do if(c[c[j>>2]>>2]|0?(ef(c[h>>2]|0,c[c[j>>2]>>2]|0)|0)==0:0){d=c[i>>2]|0;if(!(c[(c[j>>2]|0)+4>>2]|0))if(!d){n=7;break a}else break;if(d|0?(Ce(c[i>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){n=12;break a}if((c[i>>2]|0)==0?(c[(c[j>>2]|0)+4>>2]|0)==0:0){n=12;break a}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((n|0)==7){c[f>>2]=c[j>>2];o=c[f>>2]|0;l=e;return o|0}else if((n|0)==12){c[f>>2]=c[j>>2];o=c[f>>2]|0;l=e;return o|0}else if((n|0)==14){n=_c(c[h>>2]|0,c[i>>2]|0)|0;c[k>>2]=n;if(!n){c[f>>2]=0;o=c[f>>2]|0;l=e;return o|0}else{c[f>>2]=$c(c[(c[g>>2]|0)+416>>2]|0,c[k>>2]|0)|0;o=c[f>>2]|0;l=e;return o|0}}return 0}function Yc(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;l=b;return f|0}else{c[d>>2]=c[(c[e>>2]|0)+4>>2];f=c[d>>2]|0;l=b;return f|0}return 0}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=d;return h|0}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=d;return h|0}else{c[e>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2];h=c[e>>2]|0;l=d;return h|0}return 0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(dd(c[f>>2]|0)|0)){c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}c[h>>2]=Cf(8)|0;if(!(c[h>>2]|0)){c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}b=ed(c[f>>2]|0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Df(c[h>>2]|0);c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}if(c[g>>2]|0){b=ed(c[g>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=b;if(!(c[(c[h>>2]|0)+4>>2]|0)){Df(c[c[h>>2]>>2]|0);Df(c[h>>2]|0);c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}}else c[(c[h>>2]|0)+4>>2]=0;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=d;return i|0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(ad(c[f>>2]|0)|0)){c[e>>2]=0;h=c[e>>2]|0;l=d;return h|0}else{c[(c[(c[f>>2]|0)+8>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]=c[g>>2];bd(c[f>>2]|0);c[e>>2]=c[g>>2];h=c[e>>2]|0;l=d;return h|0}return 0}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=l;l=l+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;do if((c[(c[e>>2]|0)+4>>2]|0)>(c[c[e>>2]>>2]|0)){if(!(c[c[e>>2]>>2]|0))c[g>>2]=1;else c[g>>2]=c[c[e>>2]>>2]<<1;c[f>>2]=Ff(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]<<2)|0;if(c[f>>2]|0){c[c[e>>2]>>2]=c[g>>2];c[(c[e>>2]|0)+8>>2]=c[f>>2];break}a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;h=c[d>>2]|0;l=b;return h|0}while(0);c[d>>2]=c[e>>2];h=c[d>>2]|0;l=b;return h|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[(c[d>>2]|0)+12>>2]|0)){l=b;return}c[e>>2]=(c[(c[d>>2]|0)+4>>2]|0)-1;while(1){if((c[e>>2]|0)<=0){f=6;break}if((ta[c[(c[d>>2]|0)+12>>2]&7](c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]|0)-1<<2)>>2]|0,c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0,c[(c[d>>2]|0)+16>>2]|0)|0)<=0){f=6;break}cd(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0,(c[e>>2]|0)-1|0);c[e>>2]=(c[e>>2]|0)+-1}if((f|0)==6){l=b;return}}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[f>>2]|0)+(c[h>>2]<<2)>>2];c[(c[f>>2]|0)+(c[h>>2]<<2)>>2]=c[i>>2];l=e;return}function dd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=d;return h|0}c[g>>2]=c[f>>2];while(1){if(!(a[c[g>>2]>>0]|0)){i=10;break}if((a[c[g>>2]>>0]|0)<32){i=8;break}if((a[c[g>>2]>>0]|0)>125){i=8;break}if((a[c[g>>2]>>0]|0)==61){i=8;break}c[g>>2]=(c[g>>2]|0)+1}if((i|0)==8){c[e>>2]=0;h=c[e>>2]|0;l=d;return h|0}else if((i|0)==10){c[e>>2]=1;h=c[e>>2]|0;l=d;return h|0}return 0}function ed(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(c[e>>2]|0){c[f>>2]=Cf((fd(c[e>>2]|0)|0)+1|0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;break}else{c[d>>2]=gf(c[f>>2]|0,c[e>>2]|0)|0;break}}else c[d>>2]=0;while(0);l=b;return c[d>>2]|0}function fd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=b;return g|0}else{c[f>>2]=ff(c[e>>2]|0)|0;c[d>>2]=(c[f>>2]|0)>>>0<4294967294?c[f>>2]|0:-2;g=c[d>>2]|0;l=b;return g|0}return 0}function gd(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;c[(c[e>>2]|0)+412>>2]=0;a=Wb()|0;c[(c[e>>2]|0)+416>>2]=a;if(!(c[(c[e>>2]|0)+416>>2]|0)){c[d>>2]=-1;f=c[d>>2]|0;l=b;return f|0}else{id(c[(c[e>>2]|0)+416>>2]|0,3,0)|0;c[d>>2]=0;f=c[d>>2]|0;l=b;return f|0}return 0}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;c[g>>2]=a;c[h>>2]=b;c[e>>2]=d;do if((c[g>>2]|0)!=(c[h>>2]|0)){if(!((c[g>>2]|0)!=0&(c[h>>2]|0)!=0)){c[f>>2]=0;break}if(ef(c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0)|0){c[f>>2]=0;break}if(Ce(c[(c[g>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0){c[f>>2]=0;break}else{c[f>>2]=1;break}}else c[f>>2]=1;while(0);l=e;return c[f>>2]|0}function id(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+12>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=c[h>>2];if(!(c[g>>2]|0)){l=e;return 0}jd(c[f>>2]|0,0,(c[(c[f>>2]|0)+4>>2]|0)-1|0);l=e;return 0}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+32|0;f=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[(c[f>>2]|0)+8>>2];if((c[g>>2]|0)>=(c[h>>2]|0)){l=e;return}cd(c[k>>2]|0,c[g>>2]|0,((c[g>>2]|0)+(c[h>>2]|0)|0)/2|0);c[j>>2]=c[g>>2];c[i>>2]=(c[g>>2]|0)+1;while(1){if((c[i>>2]|0)>(c[h>>2]|0))break;if((ta[c[(c[f>>2]|0)+12>>2]&7](c[(c[k>>2]|0)+(c[i>>2]<<2)>>2]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0)<0){d=c[k>>2]|0;b=(c[j>>2]|0)+1|0;c[j>>2]=b;cd(d,b,c[i>>2]|0)}c[i>>2]=(c[i>>2]|0)+1}cd(c[k>>2]|0,c[g>>2]|0,c[j>>2]|0);jd(c[f>>2]|0,c[g>>2]|0,(c[j>>2]|0)-1|0);jd(c[f>>2]|0,(c[j>>2]|0)+1|0,c[h>>2]|0);l=e;return}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;j=c[f>>2]|0;l=e;return j|0}if(c[(c[g>>2]|0)+4>>2]|0){c[f>>2]=-3;j=c[f>>2]|0;l=e;return j|0}if((c[(c[g>>2]|0)+8>>2]|0)==0?(ld(c[g>>2]|0)|0)==-1:0){c[f>>2]=-18;j=c[f>>2]|0;l=e;return j|0}c[c[(c[g>>2]|0)+8>>2]>>2]=c[h>>2];c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]=c[i>>2];c[f>>2]=0;j=c[f>>2]|0;l=e;return j|0}function ld(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;a=Cf(40)|0;c[(c[e>>2]|0)+8>>2]=a;if(!(c[(c[e>>2]|0)+8>>2]|0)){c[d>>2]=-1;f=c[d>>2]|0;l=b;return f|0}else{a=c[(c[e>>2]|0)+8>>2]|0;e=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[d>>2]=0;f=c[d>>2]|0;l=b;return f|0}return 0}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;j=c[f>>2]|0;l=e;return j|0}if(c[(c[g>>2]|0)+4>>2]|0){c[f>>2]=-3;j=c[f>>2]|0;l=e;return j|0}if((c[(c[g>>2]|0)+8>>2]|0)==0?(ld(c[g>>2]|0)|0)==-1:0){c[f>>2]=-18;j=c[f>>2]|0;l=e;return j|0}c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=c[h>>2];c[(c[(c[g>>2]|0)+8>>2]|0)+20>>2]=c[i>>2];c[f>>2]=0;j=c[f>>2]|0;l=e;return j|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=-2;j=c[f>>2]|0;l=e;return j|0}if(c[(c[g>>2]|0)+4>>2]|0){c[f>>2]=-3;j=c[f>>2]|0;l=e;return j|0}if((c[(c[g>>2]|0)+8>>2]|0)==0?(ld(c[g>>2]|0)|0)==-1:0){c[f>>2]=-18;j=c[f>>2]|0;l=e;return j|0}c[(c[(c[g>>2]|0)+8>>2]|0)+24>>2]=c[h>>2];c[(c[(c[g>>2]|0)+8>>2]|0)+28>>2]=c[i>>2];c[f>>2]=0;j=c[f>>2]|0;l=e;return j|0}function od(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f+24|0;h=f+20|0;i=f+16|0;j=f+12|0;k=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=-2;o=c[g>>2]|0;l=f;return o|0}c[m>>2]=(c[h>>2]|0)+112;if(c[c[h>>2]>>2]&1|0){c[g>>2]=-3;o=c[g>>2]|0;l=f;return o|0}do if((c[i>>2]|0)==-1){c[(c[m>>2]|0)+396>>2]=c[j>>2];c[(c[m>>2]|0)+400>>2]=c[k>>2]}else{c[n>>2]=xb(c[h>>2]|0,c[i>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=zc(c[h>>2]|0,c[i>>2]|0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+468>>2]=c[j>>2];c[(c[n>>2]|0)+472>>2]=c[k>>2];break}c[g>>2]=-18;o=c[g>>2]|0;l=f;return o|0}while(0);c[g>>2]=0;o=c[g>>2]|0;l=f;return o|0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;e=l;l=l+32|0;f=e+24|0;g=e+20|0;h=e+16|0;i=e+12|0;j=e+8|0;k=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;d=k;c[d>>2]=-1;c[d+4>>2]=-1;if(!(c[g>>2]|0)){c[f>>2]=-1;m=c[f>>2]|0;l=e;return m|0}if(c[c[g>>2]>>2]&1|0){c[f>>2]=-1;m=c[f>>2]|0;l=e;return m|0}if((c[h>>2]|0)==0&(c[i>>2]|0)==0){d=k;c[d>>2]=0;c[d+4>>2]=0}c[j>>2]=(c[g>>2]|0)+112;if(!((c[h>>2]|0)==0&(c[i>>2]|0)==1)){d=(c[j>>2]|0)+416|0;c[d>>2]=-1;c[d+4>>2]=-1}d=k;c[f>>2]=sc(c[g>>2]|0,c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[i>>2]|0)|0;m=c[f>>2]|0;l=e;return m|0}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=-2;i=c[e>>2]|0;l=d;return i|0}c[h>>2]=xb(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=-20;i=c[e>>2]|0;l=d;return i|0}else{c[e>>2]=c[(c[h>>2]|0)+408>>2];i=c[e>>2]|0;l=d;return i|0}return 0}function rd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f+8|0;k=f+4|0;m=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=-2;n=c[g>>2]|0;l=f;return n|0}c[m>>2]=xb(c[h>>2]|0,c[i>>2]|0)|0;if(!(c[m>>2]|0)){c[g>>2]=-20;n=c[g>>2]|0;l=f;return n|0}else{i=(c[m>>2]|0)+376|0;h=c[i+4>>2]|0;e=c[j>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=h;h=(c[m>>2]|0)+384|0;m=Sf(c[h>>2]|0,c[h+4>>2]|0,1e3,0)|0;h=c[k>>2]|0;c[h>>2]=m;c[h+4>>2]=D;c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}return 0}function sd(){var a=0,d=0,e=0,f=0,g=0;a=l;l=l+16|0;d=a+4|0;e=a;c[e>>2]=0;c[e>>2]=Ef(1,136)|0;if(!(c[e>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;l=a;return f|0}g=td()|0;c[(c[e>>2]|0)+112>>2]=g;g=c[e>>2]|0;if(!(c[(c[e>>2]|0)+112>>2]|0)){Df(g);c[d>>2]=0;f=c[d>>2]|0;l=a;return f|0}else{b[g+116>>1]=0;b[(c[e>>2]|0)+118>>1]=0;c[(c[e>>2]|0)+120>>2]=0;g=(c[e>>2]|0)+128|0;c[g>>2]=0;c[g+4>>2]=0;c[d>>2]=c[e>>2];f=c[d>>2]|0;l=a;return f|0}return 0}function td(){var a=0,b=0,d=0;a=l;l=l+16|0;b=a+4|0;d=a;c[d>>2]=Ef(1,8)|0;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=c[d>>2];l=a;return c[b>>2]|0}function ud(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=-2;f=c[d>>2]|0;l=b;return f|0}else{vd(c[(c[e>>2]|0)+112>>2]|0);Df(c[e>>2]|0);c[d>>2]=0;f=c[d>>2]|0;l=b;return f|0}return 0}function vd(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;if(!(c[d>>2]|0)){l=b;return}if(c[(c[d>>2]|0)+4>>2]|0){c[e>>2]=0;while(1){f=c[(c[d>>2]|0)+4>>2]|0;if((c[e>>2]|0)>>>0>=(c[c[d>>2]>>2]|0)>>>0)break;if(c[f+((c[e>>2]|0)*12|0)+4>>2]|0){if(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+4>>2]|0)+48>>2]|0)Df(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+4>>2]|0)+48>>2]|0);Df(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+4>>2]|0)}if(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0){if(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0)+40>>2]|0)Df(c[(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0)+40>>2]|0);Df(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}Df(f)}Df(c[d>>2]|0);l=b;return}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;do if(c[g>>2]|0){if(!(c[h>>2]|0)){c[f>>2]=-1;break}c[j>>2]=xd(c[g>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=-4;break}if(c[(c[j>>2]|0)+4>>2]|0){c[f>>2]=-1;break}else{c[(c[j>>2]|0)+4>>2]=c[h>>2];c[f>>2]=1;break}}else c[f>>2]=-1;while(0);l=e;return c[f>>2]|0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=yd(c[f>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;do if(!b){c[h>>2]=Ff(c[(c[f>>2]|0)+4>>2]|0,((c[c[f>>2]>>2]|0)+1|0)*12|0)|0;if(c[h>>2]|0){c[(c[f>>2]|0)+4>>2]=c[h>>2];a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+(((c[c[f>>2]>>2]|0)-1|0)*12|0);c[c[h>>2]>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;break}c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}while(0);c[e>>2]=c[h>>2];i=c[e>>2]|0;l=d;return i|0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=(c[c[f>>2]>>2]|0)>>>0){i=6;break}if((c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*12|0)>>2]|0)==(c[g>>2]|0)){i=4;break}c[h>>2]=(c[h>>2]|0)+1}if((i|0)==4){c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*12|0);j=c[e>>2]|0;l=d;return j|0}else if((i|0)==6){c[e>>2]=0;j=c[e>>2]|0;l=d;return j|0}return 0}function zd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[g>>2]=a;c[h>>2]=d;c[i>>2]=-1;if(!(c[g>>2]|0)){c[f>>2]=-2;j=c[f>>2]|0;l=e;return j|0}if(!(c[h>>2]|0)){c[f>>2]=-13;j=c[f>>2]|0;l=e;return j|0}if(c[(c[h>>2]|0)+12>>2]|0){if((c[(c[g>>2]|0)+120>>2]|0)!=1){c[f>>2]=-1;j=c[f>>2]|0;l=e;return j|0}b[(c[g>>2]|0)+118>>1]=1;c[(c[g>>2]|0)+120>>2]=2;if(c[(c[h>>2]|0)+4>>2]|0){c[f>>2]=-6;j=c[f>>2]|0;l=e;return j|0}else{c[f>>2]=0;j=c[f>>2]|0;l=e;return j|0}}do if(!(De(c[c[h>>2]>>2]|0,2779,8)|0)){c[i>>2]=Ad(c[g>>2]|0,c[h>>2]|0)|0;if(c[i>>2]|0){if(c[(c[h>>2]|0)+8>>2]|0){if(c[(c[g>>2]|0)+120>>2]|0)c[i>>2]=-14}else c[i>>2]=-12;c[(c[g>>2]|0)+120>>2]=1}}else{if(!(De(c[c[h>>2]>>2]|0,2770,8)|0)){c[i>>2]=Bd(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[i>>2]|0))break;if((c[(c[g>>2]|0)+120>>2]|0)==1)break;c[i>>2]=-14;break}if(De(c[c[h>>2]>>2]|0,2788,6)|0){c[i>>2]=-1;break}b[(c[g>>2]|0)+116>>1]=1;c[i>>2]=Cd(c[g>>2]|0,c[h>>2]|0)|0;if(c[i>>2]|0?(c[(c[g>>2]|0)+120>>2]|0)!=1:0)c[i>>2]=-14}while(0);c[f>>2]=c[i>>2];j=c[f>>2]|0;l=e;return j|0}function Ad(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+32|0;g=f+16|0;h=f+12|0;i=f+8|0;j=f+4|0;k=f;c[h>>2]=b;c[i>>2]=d;c[k>>2]=0;if(!(c[h>>2]|0)){c[g>>2]=-2;m=c[g>>2]|0;l=f;return m|0}if(c[i>>2]|0?c[c[i>>2]>>2]|0:0){c[k>>2]=(c[c[i>>2]>>2]|0)+8;c[k>>2]=Id(c[k>>2]|0,c[h>>2]|0)|0;c[k>>2]=Id(c[k>>2]|0,(c[h>>2]|0)+2|0)|0;c[j>>2]=(e[c[h>>2]>>1]|0)<<16|(e[(c[h>>2]|0)+2>>1]|0);if((c[j>>2]|0)>>>0>262144){c[g>>2]=-11;m=c[g>>2]|0;l=f;return m|0}if((c[j>>2]|0)==262144?(c[(c[i>>2]|0)+4>>2]|0)!=80:0){c[g>>2]=-18;m=c[g>>2]|0;l=f;return m|0}if((e[c[h>>2]>>1]|0|0)==3){if((e[(c[h>>2]|0)+2>>1]|0|0)>=2?(c[(c[i>>2]|0)+4>>2]|0)!=112:0){c[g>>2]=-18;m=c[g>>2]|0;l=f;return m|0}if((e[(c[h>>2]|0)+2>>1]|0|0)==0?(c[(c[i>>2]|0)+4>>2]|0)!=64:0){c[g>>2]=-18;m=c[g>>2]|0;l=f;return m|0}}c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+8|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+16|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+24|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+32|0)|0;i=(c[h>>2]|0)+40|0;d=c[k>>2]|0;b=i+20|0;do{a[i>>0]=a[d>>0]|0;i=i+1|0;d=d+1|0}while((i|0)<(b|0));if((c[j>>2]|0)>>>0>=196610){c[k>>2]=(c[k>>2]|0)+20;if((e[c[h>>2]>>1]|0|0)==3){c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+64|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+72|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+80|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+88|0)|0}c[k>>2]=Ed(c[k>>2]|0,(c[h>>2]|0)+96|0)|0;Ed(c[k>>2]|0,(c[h>>2]|0)+104|0)|0}c[g>>2]=1;m=c[g>>2]|0;l=f;return m|0}c[g>>2]=-13;m=c[g>>2]|0;l=f;return m|0}function Bd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;e=l;l=l+32|0;f=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;c[g>>2]=b;c[h>>2]=d;c[i>>2]=0;c[j>>2]=-1;c[k>>2]=0;if(!(c[g>>2]|0)){c[f>>2]=-2;m=c[f>>2]|0;l=e;return m|0}if(c[h>>2]|0?c[c[h>>2]>>2]|0:0){if((c[(c[h>>2]|0)+4>>2]|0)<52){c[f>>2]=-7;m=c[f>>2]|0;l=e;return m|0}c[i>>2]=Ef(1,56)|0;if(!(c[i>>2]|0)){c[f>>2]=-4;m=c[f>>2]|0;l=e;return m|0}c[k>>2]=(c[c[h>>2]>>2]|0)+8;c[k>>2]=Hd(c[k>>2]|0,c[i>>2]|0)|0;c[k>>2]=Dd(c[k>>2]|0,(c[i>>2]|0)+4|0)|0;c[k>>2]=Hd(c[k>>2]|0,(c[i>>2]|0)+8|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[i>>2]|0)+16|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[i>>2]|0)+24|0)|0;c[k>>2]=Ed(c[k>>2]|0,(c[i>>2]|0)+32|0)|0;c[k>>2]=Hd(c[k>>2]|0,(c[i>>2]|0)+40|0)|0;a[(c[i>>2]|0)+44>>0]=a[c[k>>2]>>0]|0;k=Ef((c[(c[h>>2]|0)+4>>2]|0)-52|0,1)|0;c[(c[i>>2]|0)+48>>2]=k;k=c[i>>2]|0;if(!(c[(c[i>>2]|0)+48>>2]|0)){Df(k);c[f>>2]=-4;m=c[f>>2]|0;l=e;return m|0}Wf(c[k+48>>2]|0,(c[c[h>>2]>>2]|0)+52|0,(c[(c[h>>2]|0)+4>>2]|0)-52|0)|0;c[j>>2]=wd(c[(c[g>>2]|0)+112>>2]|0,c[i>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0;if((c[j>>2]|0)<0)Df(c[i>>2]|0);c[f>>2]=c[j>>2];m=c[f>>2]|0;l=e;return m|0}c[f>>2]=-13;m=c[f>>2]|0;l=e;return m|0}function Cd(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=l;l=l+80|0;f=d+76|0;g=d+72|0;h=d+68|0;i=d+48|0;j=d+40|0;k=d+32|0;m=d+24|0;n=d+64|0;o=d+16|0;p=d+60|0;q=d+56|0;r=d+8|0;s=d;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=0;c[b+4>>2]=0;b=j;c[b>>2]=0;c[b+4>>2]=0;b=k;c[b>>2]=0;c[b+4>>2]=0;b=m;c[b>>2]=1e3;c[b+4>>2]=0;c[n>>2]=0;b=o;c[b>>2]=-1;c[b+4>>2]=-1;c[p>>2]=0;c[q>>2]=-1;if(!(c[g>>2]|0)){c[f>>2]=-2;t=c[f>>2]|0;l=d;return t|0}if(c[h>>2]|0?c[c[h>>2]>>2]|0:0){c[n>>2]=Ef(1,48)|0;if(!(c[n>>2]|0)){c[f>>2]=-4;t=c[f>>2]|0;l=d;return t|0}c[p>>2]=(c[c[h>>2]>>2]|0)+6;c[p>>2]=Dd(c[p>>2]|0,c[n>>2]|0)|0;c[p>>2]=Ed(c[p>>2]|0,(c[n>>2]|0)+8|0)|0;c[p>>2]=Ed(c[p>>2]|0,(c[n>>2]|0)+16|0)|0;if(((e[c[g>>2]>>1]|0)<<16|(e[(c[g>>2]|0)+2>>1]|0)|0)==262144){c[p>>2]=Ed(c[p>>2]|0,(c[n>>2]|0)+24|0)|0;c[p>>2]=Ed(c[p>>2]|0,(c[n>>2]|0)+32|0)|0}b=(c[n>>2]|0)+16|0;do if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[q>>2]=-9;else{a=(c[n>>2]|0)+8|0;u=Uf(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;a=Lf(26,0,u|0,D|0)|0;u=o;c[u>>2]=a;c[u+4>>2]=D;u=o;a=c[u+4>>2]|0;v=c[(c[h>>2]|0)+4>>2]|0;w=((v|0)<0)<<31>>31;if((a|0)>(w|0)|((a|0)==(w|0)?(c[u>>2]|0)>>>0>v>>>0:0)){c[q>>2]=-10;break}v=Ef(c[(c[n>>2]|0)+8>>2]|0,16)|0;c[(c[n>>2]|0)+40>>2]=v;if(!(c[(c[n>>2]|0)+40>>2]|0)){c[q>>2]=-4;break}v=i;c[v>>2]=0;c[v+4>>2]=0;while(1){v=i;u=c[v+4>>2]|0;w=(c[n>>2]|0)+8|0;a=c[w+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?(c[v>>2]|0)>>>0<(c[w>>2]|0)>>>0:0)))break;w=r;c[w>>2]=0;c[w+4>>2]=0;w=s;c[w>>2]=0;c[w+4>>2]=0;c[p>>2]=Fd(c[p>>2]|0,r)|0;w=r;v=j;a=Lf(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=j;c[w>>2]=a;c[w+4>>2]=D;c[p>>2]=Fd(c[p>>2]|0,s)|0;w=s;a=k;v=Lf(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=k;c[w>>2]=v;c[w+4>>2]=D;w=j;v=c[w+4>>2]|0;a=(c[(c[n>>2]|0)+40>>2]|0)+(c[i>>2]<<4)|0;c[a>>2]=c[w>>2];c[a+4>>2]=v;v=k;a=m;w=Uf(c[v>>2]|0,c[v+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=(c[n>>2]|0)+16|0;v=Rf(w|0,D|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=(c[(c[n>>2]|0)+40>>2]|0)+(c[i>>2]<<4)+8|0;c[a>>2]=v;c[a+4>>2]=D;a=i;v=Lf(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=i;c[a>>2]=v;c[a+4>>2]=D}c[q>>2]=Gd(c[(c[g>>2]|0)+112>>2]|0,c[n>>2]|0,c[c[n>>2]>>2]|0)|0}while(0);if((c[q>>2]|0)<0)Df(c[n>>2]|0);c[f>>2]=c[q>>2];t=c[f>>2]|0;l=d;return t|0}c[f>>2]=-13;t=c[f>>2]|0;l=d;return t|0}function Dd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=a;c[h>>2]=b;if((c[g>>2]|0)==0|(c[h>>2]|0)==0){c[f>>2]=0;i=c[f>>2]|0;l=e;return i|0}else{c[c[h>>2]>>2]=d[c[g>>2]>>0]|0|(d[(c[g>>2]|0)+1>>0]|0)<<8|(d[(c[g>>2]|0)+2>>0]|0)<<16|(d[(c[g>>2]|0)+3>>0]|0)<<24;c[f>>2]=(c[g>>2]|0)+4;i=c[f>>2]|0;l=e;return i|0}return 0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;i=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=-1;c[i>>2]=-1;if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[e>>2]=0;j=c[e>>2]|0;l=d;return j|0}else{c[f>>2]=Hd(c[f>>2]|0,h)|0;c[f>>2]=Dd(c[f>>2]|0,i)|0;b=c[i>>2]|0;i=Lf(c[h>>2]|0,0,0,b|0)|0;b=c[g>>2]|0;c[b>>2]=i;c[b+4>>2]=D;c[e>>2]=c[f>>2];j=c[e>>2]|0;l=d;return j|0}return 0}function Fd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=i;c[b>>2]=0;c[b+4>>2]=0;b=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;do{b=i;c[b>>2]=d[c[f>>2]>>0];c[b+4>>2]=0;b=Of(c[i>>2]&127|0,0,c[h>>2]|0)|0;a=c[g>>2]|0;j=a;k=c[j+4>>2]|D;m=a;c[m>>2]=c[j>>2]|b;c[m+4>>2]=k;c[h>>2]=(c[h>>2]|0)+7;c[f>>2]=(c[f>>2]|0)+1}while(0?1:(c[i>>2]&128|0)!=128);l=e;return c[f>>2]|0}function Gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;do if(c[g>>2]|0){if(!(c[h>>2]|0)){c[f>>2]=-1;break}c[j>>2]=xd(c[g>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=-4;break}if(c[(c[j>>2]|0)+8>>2]|0){c[f>>2]=-1;break}else{c[(c[j>>2]|0)+8>>2]=c[h>>2];c[f>>2]=1;break}}else c[f>>2]=-1;while(0);l=e;return c[f>>2]|0}function Hd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=a;c[h>>2]=b;if((c[g>>2]|0)==0|(c[h>>2]|0)==0){c[f>>2]=0;i=c[f>>2]|0;l=e;return i|0}else{c[c[h>>2]>>2]=d[c[g>>2]>>0]|0|(d[(c[g>>2]|0)+1>>0]|0)<<8|(d[(c[g>>2]|0)+2>>0]|0)<<16|(d[(c[g>>2]|0)+3>>0]|0)<<24;c[f>>2]=(c[g>>2]|0)+4;i=c[f>>2]|0;l=e;return i|0}return 0}function Id(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;g=f+8|0;h=f+4|0;i=f;c[h>>2]=a;c[i>>2]=e;if((c[h>>2]|0)==0|(c[i>>2]|0)==0){c[g>>2]=0;j=c[g>>2]|0;l=f;return j|0}else{b[c[i>>2]>>1]=d[c[h>>2]>>0]|0|(d[(c[h>>2]|0)+1>>0]|0)<<8;c[g>>2]=(c[h>>2]|0)+2;j=c[g>>2]|0;l=f;return j|0}return 0}function Jd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[g>>2]=a;c[h>>2]=d;c[i>>2]=-1;d=Kd(c[g>>2]|0,c[h>>2]|0)|0;c[i>>2]=d;if((d|0)<0){c[f>>2]=c[i>>2];j=c[f>>2]|0;l=e;return j|0}else{b[c[h>>2]>>1]=b[c[g>>2]>>1]|0;c[f>>2]=0;j=c[f>>2]|0;l=e;return j|0}return 0}function Kd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[g>>2]=a;c[h>>2]=d;do if(c[g>>2]|0){if(!(b[(c[g>>2]|0)+118>>1]|0)){c[f>>2]=-5;break}if(!(c[h>>2]|0)){c[f>>2]=-16;break}else{c[f>>2]=0;break}}else c[f>>2]=-2;while(0);l=e;return c[f>>2]|0}function Ld(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;c[g>>2]=a;c[h>>2]=d;c[i>>2]=-1;d=Kd(c[g>>2]|0,c[h>>2]|0)|0;c[i>>2]=d;if((d|0)<0){c[f>>2]=c[i>>2];j=c[f>>2]|0;l=e;return j|0}else{b[c[h>>2]>>1]=b[(c[g>>2]|0)+2>>1]|0;c[f>>2]=0;j=c[f>>2]|0;l=e;return j|0}return 0}function Md(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;d=l;l=l+32|0;f=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;c[g>>2]=a;c[h>>2]=b;c[i>>2]=-1;c[j>>2]=0;b=Kd(c[g>>2]|0,c[h>>2]|0)|0;c[i>>2]=b;if((b|0)<0){c[f>>2]=c[i>>2];k=c[f>>2]|0;l=d;return k|0}c[j>>2]=(e[c[g>>2]>>1]|0)<<16|(e[(c[g>>2]|0)+2>>1]|0);if((c[j>>2]|0)>>>0<196610){c[f>>2]=-1;k=c[f>>2]|0;l=d;return k|0}else{j=(c[g>>2]|0)+96|0;g=c[j+4>>2]|0;i=c[h>>2]|0;c[i>>2]=c[j>>2];c[i+4>>2]=g;c[f>>2]=0;k=c[f>>2]|0;l=d;return k|0}return 0}function Nd(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=l;l=l+64|0;k=j+48|0;m=j+44|0;n=j+40|0;o=j+36|0;p=j+8|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+20|0;u=j;v=j+16|0;c[m>>2]=a;c[n>>2]=d;c[o>>2]=f;f=p;c[f>>2]=g;c[f+4>>2]=h;c[q>>2]=i;c[r>>2]=0;c[s>>2]=-1;c[t>>2]=0;i=u;c[i>>2]=-1;c[i+4>>2]=2147483647;i=Kd(c[m>>2]|0,c[q>>2]|0)|0;c[s>>2]=i;if((i|0)<0){c[k>>2]=c[s>>2];w=c[k>>2]|0;l=j;return w|0}if(!(b[(c[m>>2]|0)+116>>1]|0)){c[k>>2]=-19;w=c[k>>2]|0;l=j;return w|0}if((c[n>>2]|0)==0|(c[o>>2]|0)==0){c[k>>2]=-1;w=c[k>>2]|0;l=j;return w|0}do if((e[c[m>>2]>>1]|0)==3){s=(c[m>>2]|0)+80|0;i=c[s+4>>2]|0;h=p;f=c[h+4>>2]|0;if(!((i|0)<(f|0)|((i|0)==(f|0)?(c[s>>2]|0)>>>0<(c[h>>2]|0)>>>0:0))?(h=p,s=c[h+4>>2]|0,f=(c[m>>2]|0)+64|0,i=c[f+4>>2]|0,!((s|0)<(i|0)|((s|0)==(i|0)?(c[h>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))):0)break;c[k>>2]=-17;w=c[k>>2]|0;l=j;return w|0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>>>0>=(c[o>>2]|0)>>>0){x=23;break}c[v>>2]=0;f=Od(c[(c[m>>2]|0)+112>>2]|0,c[(c[n>>2]|0)+(c[t>>2]<<2)>>2]|0)|0;c[r>>2]=f;if(!f){x=14;break}if((e[c[m>>2]>>1]|0)==4){f=(c[r>>2]|0)+32|0;h=c[f+4>>2]|0;i=p;s=c[i+4>>2]|0;if((h|0)<(s|0)|((h|0)==(s|0)?(c[f>>2]|0)>>>0<(c[i>>2]|0)>>>0:0)){x=18;break}i=p;f=c[i+4>>2]|0;s=(c[r>>2]|0)+24|0;h=c[s+4>>2]|0;if((f|0)<(h|0)|((f|0)==(h|0)?(c[i>>2]|0)>>>0<(c[s>>2]|0)>>>0:0)){x=18;break}}s=p;c[v>>2]=Pd(c[r>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;if(c[v>>2]|0?(s=c[v>>2]|0,i=c[s+4>>2]|0,h=u,f=c[h+4>>2]|0,!((i|0)>(f|0)|((i|0)==(f|0)?(c[s>>2]|0)>>>0>(c[h>>2]|0)>>>0:0))):0){h=c[v>>2]|0;s=c[h+4>>2]|0;f=u;c[f>>2]=c[h>>2];c[f+4>>2]=s}c[t>>2]=(c[t>>2]|0)+1}if((x|0)==14){c[k>>2]=-8;w=c[k>>2]|0;l=j;return w|0}else if((x|0)==18){c[k>>2]=-17;w=c[k>>2]|0;l=j;return w|0}else if((x|0)==23){x=u;if((c[x>>2]|0)==-1?(c[x+4>>2]|0)==2147483647:0){c[k>>2]=-1;w=c[k>>2]|0;l=j;return w|0}else{x=u;u=c[x+4>>2]|0;t=c[q>>2]|0;c[t>>2]=c[x>>2];c[t+4>>2]=u;c[k>>2]=0;w=c[k>>2]|0;l=j;return w|0}}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=l;l=l+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;if(!(c[f>>2]|0)){c[e>>2]=0;i=c[e>>2]|0;l=d;return i|0}c[h>>2]=yd(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[h>>2]|0))j=0;else j=c[(c[h>>2]|0)+8>>2]|0;c[e>>2]=j;i=c[e>>2]|0;l=d;return i|0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;e=l;l=l+48|0;f=e+36|0;g=e+32|0;h=e+24|0;i=e+16|0;j=e+8|0;k=e;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=i;c[d>>2]=0;c[d+4>>2]=0;d=j;c[d>>2]=0;c[d+4>>2]=0;if(!(c[g>>2]|0)){c[f>>2]=0;m=c[f>>2]|0;l=e;return m|0}d=(c[g>>2]|0)+8|0;a=Kf(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;d=j;c[d>>2]=a;c[d+4>>2]=D;while(1){d=j;a=c[d+4>>2]|0;b=i;n=c[b+4>>2]|0;if(!((a|0)>(n|0)|((a|0)==(n|0)?(c[d>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)))break;b=i;d=j;n=Lf(c[b>>2]|0,c[b+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=Lf(n|0,D|0,1,0)|0;n=Jf(d|0,D|0,1)|0;d=k;c[d>>2]=n;c[d+4>>2]=D;d=(c[(c[g>>2]|0)+40>>2]|0)+(c[k>>2]<<4)+8|0;n=h;if((c[d>>2]|0)==(c[n>>2]|0)?(c[d+4>>2]|0)==(c[n+4>>2]|0):0){o=6;break}n=(c[(c[g>>2]|0)+40>>2]|0)+(c[k>>2]<<4)+8|0;d=c[n+4>>2]|0;b=h;a=c[b+4>>2]|0;p=k;q=c[p>>2]|0;r=c[p+4>>2]|0;if((d|0)<(a|0)|((d|0)==(a|0)?(c[n>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){b=i;c[b>>2]=q;c[b+4>>2]=r;continue}else{b=Kf(q|0,r|0,1,0)|0;r=j;c[r>>2]=b;c[r+4>>2]=D;continue}}if((o|0)==6){o=k;k=c[o+4>>2]|0;j=i;c[j>>2]=c[o>>2];c[j+4>>2]=k}c[f>>2]=(c[(c[g>>2]|0)+40>>2]|0)+(c[i>>2]<<4);m=c[f>>2]|0;l=e;return m|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f+8|0;k=f+4|0;m=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=-1;d=Kd(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=d;if((d|0)<0){c[g>>2]=c[k>>2];n=c[g>>2]|0;l=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){k=(c[h>>2]|0)+64|0;d=c[k+4>>2]|0;b=c[j>>2]|0;c[b>>2]=c[k>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Od(c[(c[h>>2]|0)+112>>2]|0,c[i>>2]|0)|0;c[m>>2]=d;if(d|0){d=(c[m>>2]|0)+24|0;b=c[d+4>>2]|0;k=c[j>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;l=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f+8|0;k=f+4|0;m=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=-1;d=Kd(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=d;if((d|0)<0){c[g>>2]=c[k>>2];n=c[g>>2]|0;l=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){k=(c[h>>2]|0)+72|0;d=c[k+4>>2]|0;b=c[j>>2]|0;c[b>>2]=c[k>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Od(c[(c[h>>2]|0)+112>>2]|0,c[i>>2]|0)|0;c[m>>2]=d;if(d|0){d=(c[m>>2]|0)+16|0;b=c[d+4>>2]|0;k=c[j>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;l=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f+8|0;k=f+4|0;m=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=-1;d=Kd(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=d;if((d|0)<0){c[g>>2]=c[k>>2];n=c[g>>2]|0;l=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){k=(c[h>>2]|0)+80|0;d=c[k+4>>2]|0;b=c[j>>2]|0;c[b>>2]=c[k>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Od(c[(c[h>>2]|0)+112>>2]|0,c[i>>2]|0)|0;c[m>>2]=d;if(d|0){d=(c[m>>2]|0)+32|0;b=c[d+4>>2]|0;k=c[j>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;l=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;f=l;l=l+32|0;g=f+20|0;h=f+16|0;i=f+12|0;j=f+8|0;k=f+4|0;m=f;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=-1;d=Kd(c[h>>2]|0,c[j>>2]|0)|0;c[k>>2]=d;if((d|0)<0){c[g>>2]=c[k>>2];n=c[g>>2]|0;l=f;return n|0}do if((e[c[h>>2]>>1]|0|0)<4){k=(c[h>>2]|0)+88|0;d=c[k+4>>2]|0;b=c[j>>2]|0;c[b>>2]=c[k>>2];c[b+4>>2]=d}else{c[m>>2]=0;d=Od(c[(c[h>>2]|0)+112>>2]|0,c[i>>2]|0)|0;c[m>>2]=d;if(d|0){d=(c[m>>2]|0)+16|0;b=c[d+4>>2]|0;k=c[j>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=b;break}c[g>>2]=-8;n=c[g>>2]|0;l=f;return n|0}while(0);c[g>>2]=0;n=c[g>>2]|0;l=f;return n|0}function Ud(){var a=0;c[1394]=0;c[1401]=ie()|0;a=Ub(32)|0;c[1395]=a;od(a,-1,8,0)|0;kd(c[1395]|0,4,c[1401]|0)|0;md(c[1395]|0,5,c[1401]|0)|0;nd(c[1395]|0,8,c[1401]|0)|0;c[1396]=sd()|0;return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;e=l;l=l+16|0;a=e+8|0;f=e;a:do switch(c[1394]|0){case 0:{if(!(c[b+8>>2]|0))if(!(c[1393]|0)){c[1394]=2;fa(c[1390]|0,c[1392]|0);g=_d(b,d)|0;break a}else{c[1394]=1;g=Zd(b,d)|0;break a}h=Db(c[1395]|0,d)|0;if(!(c[1389]|h)){c[1389]=1;c[1390]=2846;c[1398]=d;ra(c[b>>2]|0,c[b+4>>2]|0,-1.0,-1.0,0);g=0;break a}i=(c[1391]|0)==0;if((h|0)==1&i){c[1391]=1;c[1392]=2853;c[1399]=d;oa(c[b>>2]|0,c[b+4>>2]|0,-1.0);g=0;break a}if((h|0)==13&i){c[1391]=1;c[1392]=2860;c[1399]=d;oa(c[b>>2]|0,c[b+4>>2]|0,-1.0);g=0;break a}if((h|0)==6&(c[1393]|0)==0){c[1393]=1;c[1400]=d;h=zd(c[1396]|0,b)|0;if(!h){c[1397]=1;g=0;break a}if((h|0)<=0){c[f>>2]=h;Bf(2865,f)|0;g=-1}else g=0}else g=0;break}case 1:{g=Zd(b,d)|0;break}case 2:{g=_d(b,d)|0;break}default:{Bf(2902,a)|0;g=-1}}while(0);l=e;return g|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ke(a)|0;e=d>>>0>c>>>0?c:d;d=(oe(a,b,e)|0)<0;return (d?-1:e)|0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e;switch(d|0){case 0:{g=b;h=((b|0)<0)<<31>>31;break}case 1:{g=Lf(je(a)|0,D|0,b|0,((b|0)<0)<<31>>31|0)|0;h=D;break}default:{i=-1;l=e;return i|0}}if(!(le(a,g,h)|0)){i=g;l=e;return i|0}else{a=f;c[a>>2]=g;c[a+4>>2]=h;c[f+8>>2]=b;c[f+12>>2]=d;Bf(2795,f)|0;i=-1;l=e;return i|0}return 0}function Yd(a){a=a|0;var b=0;b=je(a)|0;return b|0}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0;d=l;l=l+32|0;e=d+16|0;f=d+8|0;g=d;h=kc(c[1395]|0)|0;i=(+(h>>>0)+4294967296.0*+(D|0))/1.0e3;h=lc(c[1395]|0)|0;j=D;k=qd(c[1395]|0,b)|0;m=f;c[m>>2]=0;c[m+4>>2]=0;m=g;c[m>>2]=0;c[m+4>>2]=0;rd(c[1395]|0,b,f,g)|0;m=Jf(h|0,j|0,k|0)|0;k=g;g=f;n=(+(m>>>0)+4294967296.0*+(D|0))*(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0));do if((c[1393]|0)!=0&(c[1400]|0)==(b|0)){g=zd(c[1396]|0,a)|0;if((g|0)<0){c[e>>2]=g;Bf(2942,e)|0;o=-1;l=d;return o|0}else{if(!(c[a+12>>2]|0))break;c[1397]=1;c[1394]=2;fa(c[1390]|0,c[1392]|0);break}}while(0);if((c[1389]|0)!=0&(c[1398]|0)==(b|0)){e=c[a>>2]|0;g=c[a+4>>2]|0;k=lc(c[1395]|0)|0;m=D;f=qd(c[1395]|0,c[1398]|0)|0;j=Jf(k|0,m|0,f|0)|0;h=Of(j|0,D|0,f|0)|0;ra(e|0,g|0,+i,+n,(k|0)==(h|0)&(m|0)==(D|0)&1|0)}if(!((c[1391]|0)!=0&(c[1399]|0)==(b|0))){o=0;l=d;return o|0}oa(c[a>>2]|0,c[a+4>>2]|0,+i);o=0;l=d;return o|0}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0.0,i=0,j=0,k=0,m=0.0,n=0,o=0;d=l;l=l+16|0;e=d+8|0;f=d;g=kc(c[1395]|0)|0;h=(+(g>>>0)+4294967296.0*+(D|0))/1.0e3;g=lc(c[1395]|0)|0;i=D;j=qd(c[1395]|0,b)|0;k=e;c[k>>2]=0;c[k+4>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;rd(c[1395]|0,b,e,f)|0;k=Jf(g|0,i|0,j|0)|0;j=f;f=e;m=(+(k>>>0)+4294967296.0*+(D|0))*(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0));if((c[1389]|0)!=0&(c[1398]|0)==(b|0)?(f=c[a+4>>2]|0,(f|0)>0):0){j=c[a>>2]|0;k=lc(c[1395]|0)|0;e=D;i=qd(c[1395]|0,c[1398]|0)|0;g=Jf(k|0,e|0,i|0)|0;n=Of(g|0,D|0,i|0)|0;ra(j|0,f|0,+h,+m,(k|0)==(n|0)&(e|0)==(D|0)&1|0);o=1;l=d;return o|0}if(!((c[1391]|0)!=0&(c[1399]|0)==(b|0))){o=0;l=d;return o|0}oa(c[a>>2]|0,c[a+4>>2]|0,+h);o=1;l=d;return o|0}function $d(a,b){a=a|0;b=b|0;ne(c[1401]|0,a,b);return}function ae(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=l;l=l+16|0;b=a;do{d=ke(c[1401]|0)|0;e=D;f=(e|0)<0|(e|0)==0&d>>>0<65536;e=f?d:65536;g=mc(c[1395]|0,e)|0;if((g|0)==-14){h=1;i=6;break}}while((g|0)>0);if((i|0)==6){l=a;return h|0}if(!g){h=0;l=a;return h|0}c[b>>2]=g;Bf(2980,b)|0;h=0;l=a;return h|0}function be(){ud(c[1396]|0)|0;_b(c[1395]|0)|0;pe(c[1401]|0);c[1401]=0;return}
function ce(){var a=0,b=0,d=0,e=0;a=l;l=l+16|0;b=a;d=b;c[d>>2]=-1;c[d+4>>2]=-1;if(!(c[1397]|0)){e=-1;l=a;return e|0}Md(c[1396]|0,b)|0;e=c[b>>2]|0;l=a;return e|0}function de(){var a=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;a=l;l=l+48|0;d=a+42|0;e=a+40|0;f=a+32|0;g=a+24|0;h=a+16|0;i=a+8|0;j=a;if(!(c[1397]|0)){k=-1.0;l=a;return +k}b[d>>1]=-1;b[e>>1]=-1;Jd(c[1396]|0,d)|0;Ld(c[1396]|0,e)|0;e=c[1398]|0;if(!e)m=0;else{c[f>>2]=e;m=1}e=c[1399]|0;if(!e)if(!m){n=-1.0;o=-1.0}else{p=1;q=7}else{c[f+(m<<2)>>2]=e;p=m+1|0;q=7}if((q|0)==7){r=-1.0;q=0;s=-1.0;while(1){m=g;c[m>>2]=-1;c[m+4>>2]=-1;m=h;c[m>>2]=-1;c[m+4>>2]=-1;m=i;c[m>>2]=-1;c[m+4>>2]=-1;m=j;c[m>>2]=-1;c[m+4>>2]=-1;m=c[f+(q<<2)>>2]|0;Qd(c[1396]|0,m,g)|0;Rd(c[1396]|0,m,h)|0;Sd(c[1396]|0,m,i)|0;Td(c[1396]|0,m,j)|0;m=g;e=h;t=(+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0))/(+((c[e>>2]|0)>>>0)+4294967296.0*+(c[e+4>>2]|0));u=r==-1.0|t<r?t:r;e=i;m=j;t=(+((c[e>>2]|0)>>>0)+4294967296.0*+(c[e+4>>2]|0))/(+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0));v=s==-1.0|t>s?t:s;q=q+1|0;if((q|0)==(p|0)){n=u;o=v;break}else{r=u;s=v}}}k=o-n;l=a;return +k}function ee(){return 1}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=l;l=l+16|0;d=b;e=b+8|0;f=d;c[f>>2]=-1;c[f+4>>2]=-1;if(!(c[1397]|0)){g=-1;l=b;return g|0}if(!(c[1389]|0))if(!(c[1391]|0)){h=e;i=0}else{j=5596;k=5}else{j=5592;k=5}if((k|0)==5){c[e>>2]=c[j>>2];h=e;i=1}Nd(c[1396]|0,h,i,a,((a|0)<0)<<31>>31,d)|0;g=c[d>>2]|0;l=b;return g|0}function ge(a){a=a|0;return 0}function he(){var a=0,b=0,d=0;a=l;l=l+16|0;b=a;qc(c[1395]|0)|0;d=pd(c[1395]|0,0,1)|0;if((d|0)<0){c[b>>2]=d;Bf(3005,b)|0}me(c[1401]|0);l=a;return}function ie(){var a=0,b=0;a=Cf(32)|0;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[a+4>>2]=0;c[a+8>>2]=8;c[a>>2]=Cf(192)|0;return a|0}function je(a){a=a|0;var b=0;b=a+16|0;D=c[b+4>>2]|0;return c[b>>2]|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[a+4>>2]|0;if(!b){d=a+16|0;e=c[d>>2]|0;f=c[d+4>>2]|0;g=e;h=f;i=e;j=f;k=Kf(g|0,h|0,i|0,j|0)|0;l=D;D=l;return k|0}else{f=c[a>>2]|0;e=b+-1|0;b=f+(e*24|0)+8|0;d=Lf(c[f+(e*24|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;b=a+16|0;g=d;h=D;i=c[b>>2]|0;j=c[b+4>>2]|0;k=Kf(g|0,h|0,i|0,j|0)|0;l=D;D=l;return k|0}return 0}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=l;l=l+16|0;f=e+8|0;g=e;h=c[a+4>>2]|0;i=(h|0)==0;if(i)j=a+16|0;else j=(c[a>>2]|0)+8|0;k=j;j=c[k+4>>2]|0;if((j|0)>(d|0)|((j|0)==(d|0)?(c[k>>2]|0)>>>0>b>>>0:0)){k=g;c[k>>2]=b;c[k+4>>2]=d;Bf(3031,g)|0;m=a+24|0;n=-1;o=m;p=o;c[p>>2]=b;q=o+4|0;r=q;c[r>>2]=d;l=e;return n|0}if(i){i=a+16|0;s=c[i+4>>2]|0;t=c[i>>2]|0}else{i=c[a>>2]|0;g=h+-1|0;h=i+(g*24|0)+8|0;k=Lf(c[i+(g*24|0)+16>>2]|0,0,c[h>>2]|0,c[h+4>>2]|0)|0;s=D;t=k}if((s|0)<(d|0)|(s|0)==(d|0)&t>>>0<b>>>0){t=f;c[t>>2]=b;c[t+4>>2]=d;Bf(3031,f)|0;m=a+24|0;n=-1;o=m;p=o;c[p>>2]=b;q=o+4|0;r=q;c[r>>2]=d;l=e;return n|0}else{m=a+16|0;n=0;o=m;p=o;c[p>>2]=b;q=o+4|0;r=q;c[r>>2]=d;l=e;return n|0}return 0}function me(a){a=a|0;var b=0,d=0,e=0;b=a+4|0;if(!(c[b>>2]|0)){c[b>>2]=0;return}d=c[a>>2]|0;e=0;do{Df(c[d+(e*24|0)>>2]|0);d=c[a>>2]|0;c[d+(e*24|0)>>2]=0;e=e+1|0}while(e>>>0<(c[b>>2]|0)>>>0);c[b>>2]=0;return}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;do if((f|0)==(c[g>>2]|0))if(!f)h=0;else{i=a+16|0;j=c[a>>2]|0;k=f;l=0;while(1){m=j+(l*24|0)+8|0;n=Lf(c[j+(l*24|0)+16>>2]|0,0,c[m>>2]|0,c[m+4>>2]|0)|0;m=D;o=i;p=c[o+4>>2]|0;if(!((m|0)<(p|0)|((m|0)==(p|0)?n>>>0<(c[o>>2]|0)>>>0:0))){q=6;break}Df(c[j+(l*24|0)>>2]|0);o=c[a>>2]|0;c[o+(l*24|0)>>2]=0;n=l+1|0;p=c[e>>2]|0;if(n>>>0<p>>>0){j=o;k=p;l=n}else{r=p;s=o;t=n;break}}if((q|0)==6)if(!l){h=k;break}else{r=k;s=j;t=l}i=r-t|0;c[e>>2]=i;Xf(s|0,s+(t*24|0)|0,i*24|0)|0;h=c[e>>2]|0}else h=f;while(0);f=c[g>>2]|0;t=f+8|0;if((h|0)==(f|0)){c[g>>2]=t;c[a>>2]=Ff(c[a>>2]|0,t*24|0)|0;u=c[e>>2]|0}else u=h;if(!u){h=a+16|0;v=c[a>>2]|0;w=c[h>>2]|0;x=c[h+4>>2]|0;y=v+(u*24|0)+8|0;z=y;A=z;c[A>>2]=w;B=z+4|0;C=B;c[C>>2]=x;E=v+(u*24|0)+16|0;c[E>>2]=d;F=Cf(d)|0;G=v+(u*24|0)|0;c[G>>2]=F;Wf(F|0,b|0,d|0)|0;H=c[e>>2]|0;I=H+1|0;c[e>>2]=I;return}else{h=c[a>>2]|0;a=u+-1|0;t=h+(a*24|0)+8|0;g=Lf(c[h+(a*24|0)+16>>2]|0,0,c[t>>2]|0,c[t+4>>2]|0)|0;v=h;w=g;x=D;y=v+(u*24|0)+8|0;z=y;A=z;c[A>>2]=w;B=z+4|0;C=B;c[C>>2]=x;E=v+(u*24|0)+16|0;c[E>>2]=d;F=Cf(d)|0;G=v+(u*24|0)|0;c[G>>2]=F;Wf(F|0,b|0,d|0)|0;H=c[e>>2]|0;I=H+1|0;c[e>>2]=I;return}}function oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;e=l;l=l+32|0;f=e+16|0;g=e;h=a+4|0;i=c[h>>2]|0;j=(i|0)==0;k=a+16|0;m=k;n=c[m>>2]|0;o=c[m+4>>2]|0;if(j){p=n;q=o}else{m=c[a>>2]|0;r=i+-1|0;s=m+(r*24|0)+8|0;t=Lf(c[m+(r*24|0)+16>>2]|0,0,c[s>>2]|0,c[s+4>>2]|0)|0;p=t;q=D}t=Kf(p|0,q|0,n|0,o|0)|0;q=D;if((q|0)<0|(q|0)==0&t>>>0<d>>>0){c[g>>2]=d;t=g+8|0;c[t>>2]=n;c[t+4>>2]=o;Bf(3055,g)|0;u=-1;l=e;return u|0}a:do if(j){v=n;w=o}else{g=o;t=n;q=i;p=0;s=0;r=d;while(1){m=c[a>>2]|0;x=m+(p*24|0)+8|0;y=c[x>>2]|0;z=c[x+4>>2]|0;x=c[m+(p*24|0)+16>>2]|0;A=Lf(x|0,0,y|0,z|0)|0;B=D;if((B|0)<(g|0)|(B|0)==(g|0)&A>>>0<t>>>0){C=q;E=t;F=g;G=s;H=r}else{A=Kf(t|0,g|0,y|0,z|0)|0;z=x-A|0;x=z>>>0>r>>>0?r:z;Wf(b+s|0,(c[m+(p*24|0)>>2]|0)+A|0,x|0)|0;A=k;m=Lf(c[A>>2]|0,c[A+4>>2]|0,x|0,0)|0;A=D;z=k;c[z>>2]=m;c[z+4>>2]=A;z=r-x|0;if(!z){u=0;break}C=c[h>>2]|0;E=m;F=A;G=x+s|0;H=z}p=p+1|0;if(p>>>0>=C>>>0){v=E;w=F;break a}else{g=F;t=E;q=C;s=G;r=H}}l=e;return u|0}while(0);c[f>>2]=d;d=f+8|0;c[d>>2]=v;c[d+4>>2]=w;Bf(3090,f)|0;u=-1;l=e;return u|0}function pe(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;if(!(c[b>>2]|0)){d=c[a>>2]|0;c[b>>2]=0;Df(d);Df(a);return}e=c[a>>2]|0;f=0;do{Df(c[e+(f*24|0)>>2]|0);e=c[a>>2]|0;c[e+(f*24|0)>>2]=0;f=f+1|0}while(f>>>0<(c[b>>2]|0)>>>0);d=e;c[b>>2]=0;Df(d);Df(a);return}function qe(){return 5608}function re(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=ye(c[a+60>>2]|0)|0;a=ue(ia(6,d|0)|0)|0;l=b;return a|0}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=l;l=l+48|0;f=e+16|0;g=e;h=e+32|0;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;m=(c[k>>2]|0)-j|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=m+d|0;m=a+60|0;c[g>>2]=c[m>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=ue(qa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=j;n=h;o=2;p=b;while(1){if((g|0)<0)break;p=p-g|0;q=c[n+4>>2]|0;r=g>>>0>q>>>0;s=r?n+8|0:n;t=(r<<31>>31)+o|0;u=g-(r?q:0)|0;c[s>>2]=(c[s>>2]|0)+u;q=s+4|0;c[q>>2]=(c[q>>2]|0)-u;c[f>>2]=c[m>>2];c[f+4>>2]=s;c[f+8>>2]=t;g=ue(qa(146,f|0)|0)|0;if((p|0)==(g|0)){v=3;break a}else{n=s;o=t}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((o|0)==2)w=0;else w=d-(c[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=c[a+44>>2]|0;c[a+16>>2]=v+(c[a+48>>2]|0);c[i>>2]=v;c[k>>2]=v;w=d}l=e;return w|0}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((ue(pa(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;l=e;return h|0}function ue(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(ve()|0)>>2]=0-a;b=-1}else b=a;return b|0}function ve(){return (we()|0)+64|0}function we(){return xe()|0}function xe(){return 2152}function ye(a){a=a|0;return a|0}function ze(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[b+36>>2]=6;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,na(54,g|0)|0):0)a[b+75>>0]=-1;g=se(b,d,e)|0;l=f;return g|0}function Ae(a){a=a|0;var b=0;b=(Be(a)|0)==0;return (b?a:a|32)|0}function Be(a){a=a|0;return (a+-65|0)>>>0<26|0}function Ce(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=b;b=c;do{d=d+1|0;b=b+1|0;c=a[d>>0]|0;e=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));f=e;g=c}return (g&255)-(f&255)|0}function De(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Ee(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=l;l=l+224|0;g=f+120|0;h=f+80|0;i=f;j=f+136|0;k=h;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=c[e>>2];if((Fe(0,d,g,i,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=Ge(b)|0;else o=0;e=c[b>>2]|0;k=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){m=b+44|0;p=c[m>>2]|0;c[m>>2]=j;q=b+28|0;c[q>>2]=j;r=b+20|0;c[r>>2]=j;c[e>>2]=80;s=b+16|0;c[s>>2]=j+80;j=Fe(b,d,g,i,h)|0;if(!p)t=j;else{ta[c[b+36>>2]&7](b,0,0)|0;u=(c[r>>2]|0)==0?-1:j;c[m>>2]=p;c[e>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;t=u}}else t=Fe(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(o|0)He(b);n=(h&32|0)==0?t:-1}l=f;return n|0}function Fe(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;j=l;l=l+64|0;k=j+16|0;m=j;n=j+24|0;o=j+8|0;p=j+20|0;c[k>>2]=e;q=(d|0)!=0;r=n+40|0;s=r;t=n+39|0;n=o+4|0;u=e;e=0;v=0;w=0;a:while(1){do if((e|0)>-1)if((v|0)>(2147483647-e|0)){c[(ve()|0)>>2]=75;x=-1;break}else{x=v+e|0;break}else x=e;while(0);y=a[u>>0]|0;if(!(y<<24>>24)){z=87;break}else{A=y;B=u}b:while(1){switch(A<<24>>24){case 37:{C=B;E=B;z=9;break b;break}case 0:{F=B;G=B;break b;break}default:{}}y=B+1|0;c[k>>2]=y;A=a[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((a[C+1>>0]|0)!=37){F=C;G=E;break c}y=E+1|0;H=C+2|0;c[k>>2]=H;if((a[H>>0]|0)==37){C=H;E=y;z=9}else{F=H;G=y;break}}while(0);y=G-u|0;if(q)Ie(d,u,y);if(y|0){u=F;e=x;v=y;continue}y=F+1|0;H=(a[y>>0]|0)+-48|0;if(H>>>0<10){I=(a[F+2>>0]|0)==36;J=I?H:-1;K=I?1:w;L=I?F+3|0:y}else{J=-1;K=w;L=y}c[k>>2]=L;y=a[L>>0]|0;I=(y<<24>>24)+-32|0;d:do if(I>>>0<32){H=y;M=0;N=L;O=I;while(1){P=1<<O;if(!(P&75913)){Q=H;R=N;S=M;break d}T=P|M;P=N+1|0;c[k>>2]=P;U=a[P>>0]|0;O=(U<<24>>24)+-32|0;if(O>>>0>=32){Q=U;R=P;S=T;break}else{H=U;M=T;N=P}}}else{Q=y;R=L;S=0}while(0);if(Q<<24>>24==42){y=R+1|0;I=(a[y>>0]|0)+-48|0;if(I>>>0<10?(a[R+2>>0]|0)==36:0){c[i+(I<<2)>>2]=10;V=1;W=R+3|0;X=c[g+((a[y>>0]|0)+-48<<3)>>2]|0}else{if(K|0){Y=-1;break}if(q){I=(c[f>>2]|0)+(4-1)&~(4-1);N=c[I>>2]|0;c[f>>2]=I+4;V=0;W=y;X=N}else{V=0;W=y;X=0}}c[k>>2]=W;y=(X|0)<0;Z=W;_=y?S|8192:S;$=V;aa=y?0-X|0:X}else{y=Je(k)|0;if((y|0)<0){Y=-1;break}Z=c[k>>2]|0;_=S;$=K;aa=y}do if((a[Z>>0]|0)==46){if((a[Z+1>>0]|0)!=42){c[k>>2]=Z+1;y=Je(k)|0;ba=c[k>>2]|0;ca=y;break}y=Z+2|0;N=(a[y>>0]|0)+-48|0;if(N>>>0<10?(a[Z+3>>0]|0)==36:0){c[i+(N<<2)>>2]=10;N=c[g+((a[y>>0]|0)+-48<<3)>>2]|0;I=Z+4|0;c[k>>2]=I;ba=I;ca=N;break}if($|0){Y=-1;break a}if(q){N=(c[f>>2]|0)+(4-1)&~(4-1);I=c[N>>2]|0;c[f>>2]=N+4;da=I}else da=0;c[k>>2]=y;ba=y;ca=da}else{ba=Z;ca=-1}while(0);y=ba;I=0;while(1){if(((a[y>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=y+1|0;c[k>>2]=ea;fa=a[(a[y>>0]|0)+-65+(3127+(I*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){y=ea;I=ga}else break}if(!(fa<<24>>24)){Y=-1;break}N=(J|0)>-1;do if(fa<<24>>24==19)if(N){Y=-1;break a}else z=49;else{if(N){c[i+(J<<2)>>2]=ga;M=g+(J<<3)|0;H=c[M+4>>2]|0;O=m;c[O>>2]=c[M>>2];c[O+4>>2]=H;z=49;break}if(!q){Y=0;break a}Ke(m,ga,f)}while(0);if((z|0)==49?(z=0,!q):0){u=ea;e=x;v=0;w=$;continue}N=a[y>>0]|0;H=(I|0)!=0&(N&15|0)==3?N&-33:N;N=_&-65537;O=(_&8192|0)==0?_:N;e:do switch(H|0){case 110:{switch((I&255)<<24>>24){case 0:{c[c[m>>2]>>2]=x;u=ea;e=x;v=0;w=$;continue a;break}case 1:{c[c[m>>2]>>2]=x;u=ea;e=x;v=0;w=$;continue a;break}case 2:{M=c[m>>2]|0;c[M>>2]=x;c[M+4>>2]=((x|0)<0)<<31>>31;u=ea;e=x;v=0;w=$;continue a;break}case 3:{b[c[m>>2]>>1]=x;u=ea;e=x;v=0;w=$;continue a;break}case 4:{a[c[m>>2]>>0]=x;u=ea;e=x;v=0;w=$;continue a;break}case 6:{c[c[m>>2]>>2]=x;u=ea;e=x;v=0;w=$;continue a;break}case 7:{M=c[m>>2]|0;c[M>>2]=x;c[M+4>>2]=((x|0)<0)<<31>>31;u=ea;e=x;v=0;w=$;continue a;break}default:{u=ea;e=x;v=0;w=$;continue a}}break}case 112:{ha=O|8;ia=ca>>>0>8?ca:8;ja=120;z=61;break}case 88:case 120:{ha=O;ia=ca;ja=H;z=61;break}case 111:{M=m;P=c[M>>2]|0;T=c[M+4>>2]|0;M=Me(P,T,r)|0;U=s-M|0;ka=P;la=T;ma=M;na=O;oa=(O&8|0)==0|(ca|0)>(U|0)?ca:U+1|0;pa=0;qa=3591;z=67;break}case 105:case 100:{U=m;M=c[U>>2]|0;T=c[U+4>>2]|0;if((T|0)<0){U=Kf(0,0,M|0,T|0)|0;P=D;ra=m;c[ra>>2]=U;c[ra+4>>2]=P;sa=U;ta=P;ua=1;va=3591;z=66;break e}else{sa=M;ta=T;ua=(O&2049|0)!=0&1;va=(O&2048|0)==0?((O&1|0)==0?3591:3593):3592;z=66;break e}break}case 117:{T=m;sa=c[T>>2]|0;ta=c[T+4>>2]|0;ua=0;va=3591;z=66;break}case 99:{a[t>>0]=c[m>>2];wa=t;xa=N;ya=1;za=0;Aa=3591;Ba=r;break}case 109:{Ca=Oe(c[(ve()|0)>>2]|0)|0;z=71;break}case 115:{T=c[m>>2]|0;Ca=T|0?T:3601;z=71;break}case 67:{c[o>>2]=c[m>>2];c[n>>2]=0;c[m>>2]=o;Da=o;Ea=-1;z=75;break}case 83:{T=c[m>>2]|0;if(!ca){Qe(d,32,aa,0,O);Fa=0;z=84}else{Da=T;Ea=ca;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{u=ea;e=x;v=Se(d,+h[m>>3],aa,ca,O,H)|0;w=$;continue a;break}default:{wa=u;xa=O;ya=ca;za=0;Aa=3591;Ba=r}}while(0);f:do if((z|0)==61){z=0;H=m;I=c[H>>2]|0;y=c[H+4>>2]|0;H=Le(I,y,r,ja&32)|0;T=(ha&8|0)==0|(I|0)==0&(y|0)==0;ka=I;la=y;ma=H;na=ha;oa=ia;pa=T?0:2;qa=T?3591:3591+(ja>>4)|0;z=67}else if((z|0)==66){z=0;ka=sa;la=ta;ma=Ne(sa,ta,r)|0;na=O;oa=ca;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;T=Pe(Ca,0,ca)|0;H=(T|0)==0;wa=Ca;xa=N;ya=H?ca:T-Ca|0;za=0;Aa=3591;Ba=H?Ca+ca|0:T}else if((z|0)==75){z=0;T=0;H=0;y=Da;while(1){I=c[y>>2]|0;if(!I){Ga=T;Ha=H;break}M=Re(p,I)|0;if((M|0)<0|M>>>0>(Ea-T|0)>>>0){Ga=T;Ha=M;break}I=M+T|0;if(Ea>>>0>I>>>0){T=I;H=M;y=y+4|0}else{Ga=I;Ha=M;break}}if((Ha|0)<0){Y=-1;break a}Qe(d,32,aa,Ga,O);if(!Ga){Fa=0;z=84}else{y=0;H=Da;while(1){T=c[H>>2]|0;if(!T){Fa=Ga;z=84;break f}M=Re(p,T)|0;y=M+y|0;if((y|0)>(Ga|0)){Fa=Ga;z=84;break f}Ie(d,p,M);if(y>>>0>=Ga>>>0){Fa=Ga;z=84;break}else H=H+4|0}}}while(0);if((z|0)==67){z=0;N=(ka|0)!=0|(la|0)!=0;H=(oa|0)!=0|N;y=((N^1)&1)+(s-ma)|0;wa=H?ma:r;xa=(oa|0)>-1?na&-65537:na;ya=H?((oa|0)>(y|0)?oa:y):oa;za=pa;Aa=qa;Ba=r}else if((z|0)==84){z=0;Qe(d,32,aa,Fa,O^8192);u=ea;e=x;v=(aa|0)>(Fa|0)?aa:Fa;w=$;continue}y=Ba-wa|0;H=(ya|0)<(y|0)?y:ya;N=H+za|0;M=(aa|0)<(N|0)?N:aa;Qe(d,32,M,N,xa);Ie(d,Aa,za);Qe(d,48,M,N,xa^65536);Qe(d,48,H,y,0);Ie(d,wa,y);Qe(d,32,M,N,xa^8192);u=ea;e=x;v=M;w=$}g:do if((z|0)==87)if(!d)if(!w)Y=0;else{$=1;while(1){v=c[i+($<<2)>>2]|0;if(!v){Ia=$;break}Ke(g+($<<3)|0,v,f);$=$+1|0;if(($|0)>=10){Y=1;break g}}while(1){if(c[i+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=x;while(0);l=j;return Y|0}function Ge(a){a=a|0;return 0}function He(a){a=a|0;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))cf(b,d,a)|0;return}function Je(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;e=(a[d>>0]|0)+-48|0;if(e>>>0<10){f=d;d=0;g=e;while(1){e=g+(d*10|0)|0;f=f+1|0;c[b>>2]=f;g=(a[f>>0]|0)+-48|0;if(g>>>0>=10){h=e;break}else d=e}}else h=0;return h|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Le(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=b;b=c;c=e;while(1){e=c+-1|0;a[e>>0]=d[3643+(h&15)>>0]|0|f;h=Nf(h|0,b|0,4)|0;b=D;if((h|0)==0&(b|0)==0){g=e;break}else c=e}}return g|0}function Me(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=b;b=c;c=d;while(1){d=c+-1|0;a[d>>0]=f&7|48;f=Nf(f|0,b|0,3)|0;b=D;if((f|0)==0&(b|0)==0){e=d;break}else c=d}}return e|0}function Ne(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=b;f=c;c=d;while(1){g=Yf(e|0,f|0,10,0)|0;c=c+-1|0;a[c>>0]=g&255|48;g=e;e=Sf(e|0,f|0,10,0)|0;if(!(f>>>0>9|(f|0)==9&g>>>0>4294967295))break;else f=D}h=c;i=e}else{h=d;i=b}if(!i)j=h;else{b=h;h=i;while(1){i=b+-1|0;a[i>>0]=(h>>>0)%10|0|48;if(h>>>0<10){j=i;break}else{b=i;h=(h>>>0)/10|0}}}return j|0}function Oe(a){a=a|0;return Ze(a,c[(Ye()|0)+188>>2]|0)|0}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=n;s=p;m=5;break}}}else{q=e;r=b;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=0;u=r}b:do if((m|0)==6){r=d&255;if((a[l>>0]|0)==r<<24>>24){t=k;u=l}else{q=S(f,16843009)|0;c:do if(k>>>0>3){s=k;g=l;while(1){b=c[g>>2]^q;if((b&-2139062144^-2139062144)&b+-16843009|0)break;b=g+4|0;e=s+-4|0;if(e>>>0>3){s=e;g=b}else{v=e;w=b;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!v){t=0;u=w;break}else{x=v;y=w}while(1){if((a[y>>0]|0)==r<<24>>24){t=x;u=y;break b}q=y+1|0;x=x+-1|0;if(!x){t=0;u=q;break}else y=q}}}while(0);return (t|0?u:0)|0}function Qe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Mf(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Ie(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Ie(a,g,h)}l=f;return}function Re(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=We(a,b,0)|0;return c|0}function Se(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,E=0.0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;j=l;l=l+560|0;k=j+8|0;m=j;n=j+524|0;o=n;p=j+512|0;c[m>>2]=0;q=p+12|0;Te(e)|0;if((D|0)<0){r=1;s=3608;t=-e}else{r=(h&2049|0)!=0&1;s=(h&2048|0)==0?((h&1|0)==0?3609:3614):3611;t=e}Te(t)|0;u=D&2146435072;do if(u>>>0<2146435072|(u|0)==2146435072&0<0){e=+Ue(t,m)*2.0;v=e!=0.0;if(v)c[m>>2]=(c[m>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-g|0;do if(!(g>>>0>11|(A|0)==0)){B=A;C=8.0;do{B=B+-1|0;C=C*16.0}while((B|0)!=0);if((a[y>>0]|0)==45){E=-(C+(-e-C));break}else{E=e+C-C;break}}else E=e;while(0);A=c[m>>2]|0;B=(A|0)<0?0-A|0:A;F=Ne(B,((B|0)<0)<<31>>31,q)|0;if((F|0)==(q|0)){B=p+11|0;a[B>>0]=48;G=B}else G=F;a[G+-1>>0]=(A>>31&2)+43;A=G+-2|0;a[A>>0]=i+15;F=(g|0)<1;B=(h&8|0)==0;H=n;I=E;while(1){J=~~I;K=H+1|0;a[H>>0]=d[3643+J>>0]|x;I=(I-+(J|0))*16.0;if((K-o|0)==1?!(B&(F&I==0.0)):0){a[K>>0]=46;L=H+2|0}else L=K;if(!(I!=0.0))break;else H=L}H=L-o|0;F=q-A|0;B=(g|0)!=0&(H+-2|0)<(g|0)?g+2|0:H;x=F+z+B|0;Qe(b,32,f,x,h);Ie(b,y,z);Qe(b,48,f,x,h^65536);Ie(b,n,H);Qe(b,48,B-H|0,0,0);Ie(b,A,F);Qe(b,32,f,x,h^8192);M=x;break}x=(g|0)<0?6:g;if(v){F=(c[m>>2]|0)+-28|0;c[m>>2]=F;N=F;O=e*268435456.0}else{N=c[m>>2]|0;O=e}F=(N|0)<0?k:k+288|0;I=O;H=F;do{B=~~I>>>0;c[H>>2]=B;H=H+4|0;I=(I-+(B>>>0))*1.0e9}while(I!=0.0);if((N|0)>0){v=N;A=F;z=H;while(1){y=(v|0)<29?v:29;B=z+-4|0;if(B>>>0>=A>>>0){K=0;J=B;do{B=Of(c[J>>2]|0,0,y|0)|0;P=Lf(B|0,D|0,K|0,0)|0;B=D;Q=Yf(P|0,B|0,1e9,0)|0;c[J>>2]=Q;K=Sf(P|0,B|0,1e9,0)|0;J=J+-4|0}while(J>>>0>=A>>>0);if(K){J=A+-4|0;c[J>>2]=K;R=J}else R=A}else R=A;J=z;while(1){if(J>>>0<=R>>>0)break;B=J+-4|0;if(!(c[B>>2]|0))J=B;else break}K=(c[m>>2]|0)-y|0;c[m>>2]=K;if((K|0)>0){v=K;A=R;z=J}else{T=K;U=R;V=J;break}}}else{T=N;U=F;V=H}if((T|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=T;K=U;B=V;while(1){P=0-v|0;Q=(P|0)<9?P:9;if(K>>>0<B>>>0){P=(1<<Q)+-1|0;W=1e9>>>Q;X=0;Y=K;do{Z=c[Y>>2]|0;c[Y>>2]=(Z>>>Q)+X;X=S(Z&P,W)|0;Y=Y+4|0}while(Y>>>0<B>>>0);Y=(c[K>>2]|0)==0?K+4|0:K;if(!X){_=Y;$=B}else{c[B>>2]=X;_=Y;$=B+4|0}}else{_=(c[K>>2]|0)==0?K+4|0:K;$=B}Y=A?F:_;W=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;v=(c[m>>2]|0)+Q|0;c[m>>2]=v;if((v|0)>=0){aa=_;ba=W;break}else{K=_;B=W}}}else{aa=U;ba=V}B=F;if(aa>>>0<ba>>>0){K=(B-aa>>2)*9|0;v=c[aa>>2]|0;if(v>>>0<10)ca=K;else{z=K;K=10;while(1){K=K*10|0;A=z+1|0;if(v>>>0<K>>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;K=(x|0)!=0;v=x-((w|0)!=102?ca:0)+((K&z)<<31>>31)|0;if((v|0)<(((ba-B>>2)*9|0)+-9|0)){A=v+9216|0;v=F+4+(((A|0)/9|0)+-1024<<2)|0;H=((A|0)%9|0)+1|0;if((H|0)<9){A=10;W=H;while(1){H=A*10|0;W=W+1|0;if((W|0)==9){da=H;break}else A=H}}else da=10;A=c[v>>2]|0;W=(A>>>0)%(da>>>0)|0;w=(v+4|0)==(ba|0);if(!(w&(W|0)==0)){C=(((A>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;H=(da|0)/2|0;I=W>>>0<H>>>0?.5:w&(W|0)==(H|0)?1.0:1.5;if(!r){ea=C;fa=I}else{H=(a[s>>0]|0)==45;ea=H?-C:C;fa=H?-I:I}H=A-W|0;c[v>>2]=H;if(ea+fa!=ea){W=H+da|0;c[v>>2]=W;if(W>>>0>999999999){W=aa;H=v;while(1){A=H+-4|0;c[H>>2]=0;if(A>>>0<W>>>0){w=W+-4|0;c[w>>2]=0;ga=w}else ga=W;w=(c[A>>2]|0)+1|0;c[A>>2]=w;if(w>>>0>999999999){W=ga;H=A}else{ha=ga;ia=A;break}}}else{ha=aa;ia=v}H=(B-ha>>2)*9|0;W=c[ha>>2]|0;if(W>>>0<10){ja=ha;ka=ia;la=H}else{A=H;H=10;while(1){H=H*10|0;w=A+1|0;if(W>>>0<H>>>0){ja=ha;ka=ia;la=w;break}else A=w}}}else{ja=aa;ka=v;la=ca}}else{ja=aa;ka=v;la=ca}A=ka+4|0;ma=ja;na=la;oa=ba>>>0>A>>>0?A:ba}else{ma=aa;na=ca;oa=ba}A=oa;while(1){if(A>>>0<=ma>>>0){pa=0;break}H=A+-4|0;if(!(c[H>>2]|0))A=H;else{pa=1;break}}v=0-na|0;do if(z){H=((K^1)&1)+x|0;if((H|0)>(na|0)&(na|0)>-5){qa=H+-1-na|0;ra=i+-1|0}else{qa=H+-1|0;ra=i+-2|0}H=h&8;if(!H){if(pa?(W=c[A+-4>>2]|0,(W|0)!=0):0)if(!((W>>>0)%10|0)){w=10;Y=0;while(1){w=w*10|0;P=Y+1|0;if((W>>>0)%(w>>>0)|0|0){sa=P;break}else Y=P}}else sa=0;else sa=9;Y=((A-B>>2)*9|0)+-9|0;if((ra|32|0)==102){w=Y-sa|0;W=(w|0)>0?w:0;ta=0;ua=(qa|0)<(W|0)?qa:W;va=ra;break}else{W=Y+na-sa|0;Y=(W|0)>0?W:0;ta=0;ua=(qa|0)<(Y|0)?qa:Y;va=ra;break}}else{ta=H;ua=qa;va=ra}}else{ta=h&8;ua=x;va=i}while(0);x=ua|ta;B=(x|0)!=0&1;K=(va|32|0)==102;if(K){wa=0;xa=(na|0)>0?na:0}else{z=(na|0)<0?v:na;Y=Ne(z,((z|0)<0)<<31>>31,q)|0;z=q;if((z-Y|0)<2){W=Y;while(1){w=W+-1|0;a[w>>0]=48;if((z-w|0)<2)W=w;else{ya=w;break}}}else ya=Y;a[ya+-1>>0]=(na>>31&2)+43;W=ya+-2|0;a[W>>0]=va;wa=W;xa=z-W|0}W=r+1+ua+B+xa|0;Qe(b,32,f,W,h);Ie(b,s,r);Qe(b,48,f,W,h^65536);if(K){v=ma>>>0>F>>>0?F:ma;w=n+9|0;Q=w;X=n+8|0;P=v;do{J=Ne(c[P>>2]|0,0,w)|0;if((P|0)==(v|0))if((J|0)==(w|0)){a[X>>0]=48;za=X}else za=J;else if(J>>>0>n>>>0){Mf(n|0,48,J-o|0)|0;y=J;while(1){Z=y+-1|0;if(Z>>>0>n>>>0)y=Z;else{za=Z;break}}}else za=J;Ie(b,za,Q-za|0);P=P+4|0}while(P>>>0<=F>>>0);if(x|0)Ie(b,3659,1);if(P>>>0<A>>>0&(ua|0)>0){F=P;Q=ua;while(1){X=Ne(c[F>>2]|0,0,w)|0;if(X>>>0>n>>>0){Mf(n|0,48,X-o|0)|0;v=X;while(1){K=v+-1|0;if(K>>>0>n>>>0)v=K;else{Aa=K;break}}}else Aa=X;Ie(b,Aa,(Q|0)<9?Q:9);F=F+4|0;v=Q+-9|0;if(!(F>>>0<A>>>0&(Q|0)>9)){Ba=v;break}else Q=v}}else Ba=ua;Qe(b,48,Ba+9|0,9,0)}else{Q=pa?A:ma+4|0;if((ua|0)>-1){F=n+9|0;w=(ta|0)==0;P=F;x=0-o|0;v=n+8|0;J=ma;K=ua;while(1){B=Ne(c[J>>2]|0,0,F)|0;if((B|0)==(F|0)){a[v>>0]=48;Ca=v}else Ca=B;do if((J|0)==(ma|0)){B=Ca+1|0;Ie(b,Ca,1);if(w&(K|0)<1){Da=B;break}Ie(b,3659,1);Da=B}else{if(Ca>>>0<=n>>>0){Da=Ca;break}Mf(n|0,48,Ca+x|0)|0;B=Ca;while(1){z=B+-1|0;if(z>>>0>n>>>0)B=z;else{Da=z;break}}}while(0);X=P-Da|0;Ie(b,Da,(K|0)>(X|0)?X:K);B=K-X|0;J=J+4|0;if(!(J>>>0<Q>>>0&(B|0)>-1)){Ea=B;break}else K=B}}else Ea=ua;Qe(b,48,Ea+18|0,18,0);Ie(b,wa,q-wa|0)}Qe(b,32,f,W,h^8192);M=W}else{K=(i&32|0)!=0;Q=r+3|0;Qe(b,32,f,Q,h&-65537);Ie(b,s,r);Ie(b,t!=t|0.0!=0.0?(K?3635:3639):K?3627:3631,3);Qe(b,32,f,Q,h^8192);M=Q}while(0);l=j;return ((M|0)<(f|0)?f:M)|0}function Te(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function Ue(a,b){a=+a;b=b|0;return +(+Ve(a,b))}function Ve(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,k=0.0,l=0.0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=Nf(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){g=+Ve(a*18446744073709551616.0,b);i=(c[b>>2]|0)+-64|0;k=g}else{i=0;k=a}c[b>>2]=i;l=k;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;l=+h[j>>3]}}return +l}function We(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(Xe()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(ve()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(ve()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Xe(){return xe()|0}function Ye(){return xe()|0}function Ze(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=0;while(1){if((d[3661+f>>0]|0)==(b|0)){g=2;break}h=f+1|0;if((h|0)==87){i=87;j=3749;g=5;break}else f=h}if((g|0)==2)if(!f)k=3749;else{i=f;j=3749;g=5}if((g|0)==5)while(1){g=0;f=j;do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);i=i+-1|0;if(!i){k=f;break}else{j=f;g=5}}return _e(k,c[e+20>>2]|0)|0}function _e(a,b){a=a|0;b=b|0;return $e(a,b)|0}function $e(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=af(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (d|0?d:a)|0}function af(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=(c[b>>2]|0)+1794895138|0;g=bf(c[b+8>>2]|0,f)|0;h=bf(c[b+12>>2]|0,f)|0;i=bf(c[b+16>>2]|0,f)|0;a:do if((g>>>0<d>>>2>>>0?(j=d-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=bf(c[b+(q<<2)>>2]|0,f)|0;s=bf(c[b+(q+1<<2)>>2]|0,f)|0;if(!(s>>>0<d>>>0&r>>>0<(d-s|0)>>>0)){t=0;break a}if(a[b+(s+r)>>0]|0){t=0;break a}r=Ce(e,b+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=bf(c[b+(m<<2)>>2]|0,f)|0;j=bf(c[b+(m+1<<2)>>2]|0,f)|0;if(j>>>0<d>>>0&l>>>0<(d-j|0)>>>0)t=(a[b+(j+l)>>0]|0)==0?b+j|0:0;else t=0}else t=0;while(0);return t|0}function bf(a,b){a=a|0;b=b|0;var c=0;c=Zf(a|0)|0;return ((b|0)==0?a:c)|0}function cf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(df(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=ta[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=k;m=0;n=d;o=b;break b}p=f+-1|0;if((a[b+p>>0]|0)==10)break;else f=p}p=ta[c[e+36>>2]&7](e,b,f)|0;if(p>>>0<f>>>0){j=p;break a}l=c[g>>2]|0;m=f;n=d-f|0;o=b+f|0}else{l=k;m=0;n=d;o=b}while(0);Wf(l|0,o|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=m+n|0}while(0);return j|0}function df(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function ef(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a[b>>0]|0;f=e&255;a:do if(!(e<<24>>24)){g=f;h=c}else{i=e;j=f;k=b;l=c;while(1){m=a[l>>0]|0;if(!(m<<24>>24)){g=j;h=l;break a}if(i<<24>>24!=m<<24>>24?(n=Ae(j)|0,(n|0)!=(Ae(m&255)|0)):0){g=j;h=l;break a}k=k+1|0;m=l+1|0;i=a[k>>0]|0;n=i&255;if(!(i<<24>>24)){g=n;h=m;break}else{j=n;l=m}}}while(0);c=Ae(g)|0;return c-(Ae(d[h>>0]|0)|0)|0}function ff(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=d;h=b;while(1){if(!(a[h>>0]|0)){i=g;break a}j=h+1|0;g=j;if(!(g&3)){e=j;f=4;break}else h=j}}while(0);if((f|0)==4){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function gf(a,b){a=a|0;b=b|0;hf(a,b)|0;return a|0}function hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=b;g=d}else{h=b;i=d;while(1){j=a[i>>0]|0;a[h>>0]=j;if(!(j<<24>>24)){k=h;break a}j=i+1|0;l=h+1|0;if(!(j&3)){f=l;g=j;break}else{h=l;i=j}}}i=c[g>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=i;i=f;j=g;while(1){l=j+4|0;m=i+4|0;c[i>>2]=h;h=c[l>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){n=m;o=l;break}else{i=m;j=l}}}else{n=f;o=g}p=n;q=o;r=8}else{p=b;q=d;r=8}while(0);if((r|0)==8){r=a[q>>0]|0;a[p>>0]=r;if(!(r<<24>>24))k=p;else{r=p;p=q;while(1){p=p+1|0;q=r+1|0;d=a[p>>0]|0;a[q>>0]=d;if(!(d<<24>>24)){k=q;break}else r=q}}}return k|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=ue(ga(3,f|0)|0)|0;l=e;return d|0}function kf(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;d=a+112|0;if(b|0)c[b+112>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(lf()|0)+232|0;else e=a+116|0;c[e>>2]=b}return}function lf(){return xe()|0}function mf(){ha(5672);return 5680}function nf(){la(5672);return}function of(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=Ge(a)|0;else b=0;kf(a);d=(c[a>>2]&1|0)!=0;if(!d){e=mf()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;nf()}h=pf(a)|0;e=va[c[a+12>>2]&15](a)|0|h;h=c[a+92>>2]|0;if(h|0)Df(h);if(d){if(b|0)He(a)}else Df(a);return e|0}function pf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=qf(a)|0;break}d=(Ge(a)|0)==0;e=qf(a)|0;if(d)b=e;else{He(a);b=e}}else{if(!(c[631]|0))f=0;else f=pf(c[631]|0)|0;e=c[(mf()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Ge(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=qf(d)|0|e;else i=e;if(h|0)He(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}nf();b=g}while(0);return b|0}function qf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(ta[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)ta[c[a+40>>2]&7](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function rf(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Ge(a)|0)==0;d=(c[a>>2]|0)>>>5&1;if(b)e=d;else e=d}else e=(c[a>>2]|0)>>>5&1;return e|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;return tf(a,b,c)|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(Ge(a)|0)==0;f=uf(a,b,d)|0;if(e)g=f;else{He(a);g=f}}else g=uf(a,b,d)|0;return g|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(ta[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((ta[c[a+40>>2]&7](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;wf(a,b,c)|0;return a|0}function wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=d;do if(!((f^b)&3)){g=(e|0)!=0;a:do if(g&(f&3|0)!=0){h=b;i=e;j=d;while(1){k=a[j>>0]|0;a[h>>0]=k;if(!(k<<24>>24)){l=h;m=i;n=j;break a}k=i+-1|0;o=j+1|0;p=h+1|0;q=(k|0)!=0;if(q&(o&3|0)!=0){h=p;i=k;j=o}else{r=p;s=k;t=o;u=q;v=5;break}}}else{r=b;s=e;t=d;u=g;v=5}while(0);if((v|0)==5)if(u){l=r;m=s;n=t}else{w=r;x=0;break}if(!(a[n>>0]|0)){w=l;x=m}else{b:do if(m>>>0>3){g=m;j=l;i=n;while(1){h=c[i>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){y=g;z=j;A=i;break b}c[j>>2]=h;h=g+-4|0;q=i+4|0;o=j+4|0;if(h>>>0>3){g=h;j=o;i=q}else{y=h;z=o;A=q;break}}}else{y=m;z=l;A=n}while(0);B=z;C=y;D=A;v=11}}else{B=b;C=e;D=d;v=11}while(0);c:do if((v|0)==11)if(!C){w=B;x=0}else{d=B;e=C;b=D;while(1){A=a[b>>0]|0;a[d>>0]=A;if(!(A<<24>>24)){w=d;x=e;break c}e=e+-1|0;A=d+1|0;if(!e){w=A;x=0;break}else{d=A;b=b+1|0}}}while(0);Mf(w|0,0,x|0)|0;return w|0}function xf(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Ge(a)|0)==0;d=yf(a)|0;if(b)e=d;else e=d}else e=yf(a)|0;return e|0}function yf(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=ta[c[a+40>>2]&7](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function zf(a){a=a|0;(c[a+76>>2]|0)>-1?Ge(a)|0:0;return c[a+60>>2]|0}function Af(a){a=a|0;return xf(a)|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=Ee(c[599]|0,a,e)|0;l=d;return b|0}function Cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0;b=l;l=l+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[1421]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=5724+(i<<1<<2)|0;k=j+8|0;m=c[k>>2]|0;n=m+8|0;o=c[n>>2]|0;do if((j|0)!=(o|0)){if(o>>>0<(c[1425]|0)>>>0)ka();p=o+12|0;if((c[p>>2]|0)==(m|0)){c[p>>2]=j;c[k>>2]=o;break}else ka()}else c[1421]=g&~(1<<i);while(0);o=i<<3;c[m+4>>2]=o|3;k=m+o+4|0;c[k>>2]=c[k>>2]|1;q=n;l=b;return q|0}k=c[1423]|0;if(e>>>0>k>>>0){if(h|0){o=2<<f;j=h<<f&(o|0-o);o=(j&0-j)+-1|0;j=o>>>12&16;p=o>>>j;o=p>>>5&8;r=p>>>o;p=r>>>2&4;s=r>>>p;r=s>>>1&2;t=s>>>r;s=t>>>1&1;u=(o|j|p|r|s)+(t>>>s)|0;s=5724+(u<<1<<2)|0;t=s+8|0;r=c[t>>2]|0;p=r+8|0;j=c[p>>2]|0;do if((s|0)!=(j|0)){if(j>>>0<(c[1425]|0)>>>0)ka();o=j+12|0;if((c[o>>2]|0)==(r|0)){c[o>>2]=s;c[t>>2]=j;v=g;break}else ka()}else{o=g&~(1<<u);c[1421]=o;v=o}while(0);j=(u<<3)-e|0;c[r+4>>2]=e|3;t=r+e|0;c[t+4>>2]=j|1;c[t+j>>2]=j;if(k|0){s=c[1426]|0;f=k>>>3;h=5724+(f<<1<<2)|0;n=1<<f;if(v&n){f=h+8|0;m=c[f>>2]|0;if(m>>>0<(c[1425]|0)>>>0)ka();else{w=f;x=m}}else{c[1421]=v|n;w=h+8|0;x=h}c[w>>2]=s;c[x+12>>2]=s;c[s+8>>2]=x;c[s+12>>2]=h}c[1423]=j;c[1426]=t;q=p;l=b;return q|0}t=c[1422]|0;if(t){j=(t&0-t)+-1|0;h=j>>>12&16;s=j>>>h;j=s>>>5&8;n=s>>>j;s=n>>>2&4;m=n>>>s;n=m>>>1&2;f=m>>>n;m=f>>>1&1;i=c[5988+((j|h|s|n|m)+(f>>>m)<<2)>>2]|0;m=(c[i+4>>2]&-8)-e|0;f=c[i+16+(((c[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){y=m;z=i}else{n=f;f=m;m=i;while(1){i=(c[n+4>>2]&-8)-e|0;s=i>>>0<f>>>0;h=s?i:f;i=s?n:m;n=c[n+16+(((c[n+16>>2]|0)==0&1)<<2)>>2]|0;if(!n){y=h;z=i;break}else{f=h;m=i}}}m=c[1425]|0;if(z>>>0<m>>>0)ka();f=z+e|0;if(z>>>0>=f>>>0)ka();n=c[z+24>>2]|0;p=c[z+12>>2]|0;do if((p|0)==(z|0)){r=z+20|0;u=c[r>>2]|0;if(!u){i=z+16|0;h=c[i>>2]|0;if(!h){A=0;break}else{B=h;C=i}}else{B=u;C=r}while(1){r=B+20|0;u=c[r>>2]|0;if(u|0){B=u;C=r;continue}r=B+16|0;u=c[r>>2]|0;if(!u)break;else{B=u;C=r}}if(C>>>0<m>>>0)ka();else{c[C>>2]=0;A=B;break}}else{r=c[z+8>>2]|0;if(r>>>0<m>>>0)ka();u=r+12|0;if((c[u>>2]|0)!=(z|0))ka();i=p+8|0;if((c[i>>2]|0)==(z|0)){c[u>>2]=p;c[i>>2]=r;A=p;break}else ka()}while(0);a:do if(n|0){p=c[z+28>>2]|0;m=5988+(p<<2)|0;do if((z|0)==(c[m>>2]|0)){c[m>>2]=A;if(!A){c[1422]=t&~(1<<p);break a}}else if(n>>>0>=(c[1425]|0)>>>0){c[n+16+(((c[n+16>>2]|0)!=(z|0)&1)<<2)>>2]=A;if(!A)break a;else break}else ka();while(0);p=c[1425]|0;if(A>>>0<p>>>0)ka();c[A+24>>2]=n;m=c[z+16>>2]|0;do if(m|0)if(m>>>0<p>>>0)ka();else{c[A+16>>2]=m;c[m+24>>2]=A;break}while(0);m=c[z+20>>2]|0;if(m|0)if(m>>>0<(c[1425]|0)>>>0)ka();else{c[A+20>>2]=m;c[m+24>>2]=A;break}}while(0);if(y>>>0<16){n=y+e|0;c[z+4>>2]=n|3;t=z+n+4|0;c[t>>2]=c[t>>2]|1}else{c[z+4>>2]=e|3;c[f+4>>2]=y|1;c[f+y>>2]=y;if(k|0){t=c[1426]|0;n=k>>>3;m=5724+(n<<1<<2)|0;p=1<<n;if(g&p){n=m+8|0;r=c[n>>2]|0;if(r>>>0<(c[1425]|0)>>>0)ka();else{D=n;E=r}}else{c[1421]=g|p;D=m+8|0;E=m}c[D>>2]=t;c[E+12>>2]=t;c[t+8>>2]=E;c[t+12>>2]=m}c[1423]=y;c[1426]=f}q=z+8|0;l=b;return q|0}else F=e}else F=e}else if(a>>>0<=4294967231){m=a+11|0;t=m&-8;p=c[1422]|0;if(p){r=0-t|0;n=m>>>8;if(n)if(t>>>0>16777215)G=31;else{m=(n+1048320|0)>>>16&8;i=n<<m;n=(i+520192|0)>>>16&4;u=i<<n;i=(u+245760|0)>>>16&2;h=14-(n|m|i)+(u<<i>>>15)|0;G=t>>>(h+7|0)&1|h<<1}else G=0;h=c[5988+(G<<2)>>2]|0;b:do if(!h){H=r;I=0;J=0;K=81}else{i=r;u=0;m=t<<((G|0)==31?0:25-(G>>>1)|0);n=h;s=0;while(1){j=(c[n+4>>2]&-8)-t|0;if(j>>>0<i>>>0)if(!j){L=0;M=n;N=n;K=85;break b}else{O=j;P=n}else{O=i;P=s}j=c[n+20>>2]|0;n=c[n+16+(m>>>31<<2)>>2]|0;o=(j|0)==0|(j|0)==(n|0)?u:j;j=(n|0)==0;if(j){H=O;I=o;J=P;K=81;break}else{i=O;u=o;m=m<<((j^1)&1);s=P}}}while(0);if((K|0)==81){if((I|0)==0&(J|0)==0){h=2<<G;r=p&(h|0-h);if(!r){F=t;break}h=(r&0-r)+-1|0;r=h>>>12&16;e=h>>>r;h=e>>>5&8;f=e>>>h;e=f>>>2&4;g=f>>>e;f=g>>>1&2;k=g>>>f;g=k>>>1&1;Q=c[5988+((h|r|e|f|g)+(k>>>g)<<2)>>2]|0;R=0}else{Q=I;R=J}if(!Q){S=H;T=R}else{L=H;M=Q;N=R;K=85}}if((K|0)==85)while(1){K=0;g=(c[M+4>>2]&-8)-t|0;k=g>>>0<L>>>0;f=k?g:L;g=k?M:N;M=c[M+16+(((c[M+16>>2]|0)==0&1)<<2)>>2]|0;if(!M){S=f;T=g;break}else{L=f;N=g;K=85}}if((T|0)!=0?S>>>0<((c[1423]|0)-t|0)>>>0:0){g=c[1425]|0;if(T>>>0<g>>>0)ka();f=T+t|0;if(T>>>0>=f>>>0)ka();k=c[T+24>>2]|0;e=c[T+12>>2]|0;do if((e|0)==(T|0)){r=T+20|0;h=c[r>>2]|0;if(!h){s=T+16|0;m=c[s>>2]|0;if(!m){U=0;break}else{V=m;W=s}}else{V=h;W=r}while(1){r=V+20|0;h=c[r>>2]|0;if(h|0){V=h;W=r;continue}r=V+16|0;h=c[r>>2]|0;if(!h)break;else{V=h;W=r}}if(W>>>0<g>>>0)ka();else{c[W>>2]=0;U=V;break}}else{r=c[T+8>>2]|0;if(r>>>0<g>>>0)ka();h=r+12|0;if((c[h>>2]|0)!=(T|0))ka();s=e+8|0;if((c[s>>2]|0)==(T|0)){c[h>>2]=e;c[s>>2]=r;U=e;break}else ka()}while(0);c:do if(k){e=c[T+28>>2]|0;g=5988+(e<<2)|0;do if((T|0)==(c[g>>2]|0)){c[g>>2]=U;if(!U){r=p&~(1<<e);c[1422]=r;X=r;break c}}else if(k>>>0>=(c[1425]|0)>>>0){c[k+16+(((c[k+16>>2]|0)!=(T|0)&1)<<2)>>2]=U;if(!U){X=p;break c}else break}else ka();while(0);e=c[1425]|0;if(U>>>0<e>>>0)ka();c[U+24>>2]=k;g=c[T+16>>2]|0;do if(g|0)if(g>>>0<e>>>0)ka();else{c[U+16>>2]=g;c[g+24>>2]=U;break}while(0);g=c[T+20>>2]|0;if(g)if(g>>>0<(c[1425]|0)>>>0)ka();else{c[U+20>>2]=g;c[g+24>>2]=U;X=p;break}else X=p}else X=p;while(0);do if(S>>>0>=16){c[T+4>>2]=t|3;c[f+4>>2]=S|1;c[f+S>>2]=S;p=S>>>3;if(S>>>0<256){k=5724+(p<<1<<2)|0;g=c[1421]|0;e=1<<p;if(g&e){p=k+8|0;r=c[p>>2]|0;if(r>>>0<(c[1425]|0)>>>0)ka();else{Y=p;Z=r}}else{c[1421]=g|e;Y=k+8|0;Z=k}c[Y>>2]=f;c[Z+12>>2]=f;c[f+8>>2]=Z;c[f+12>>2]=k;break}k=S>>>8;if(k)if(S>>>0>16777215)_=31;else{e=(k+1048320|0)>>>16&8;g=k<<e;k=(g+520192|0)>>>16&4;r=g<<k;g=(r+245760|0)>>>16&2;p=14-(k|e|g)+(r<<g>>>15)|0;_=S>>>(p+7|0)&1|p<<1}else _=0;p=5988+(_<<2)|0;c[f+28>>2]=_;g=f+16|0;c[g+4>>2]=0;c[g>>2]=0;g=1<<_;if(!(X&g)){c[1422]=X|g;c[p>>2]=f;c[f+24>>2]=p;c[f+12>>2]=f;c[f+8>>2]=f;break}g=S<<((_|0)==31?0:25-(_>>>1)|0);r=c[p>>2]|0;while(1){if((c[r+4>>2]&-8|0)==(S|0)){K=139;break}$=r+16+(g>>>31<<2)|0;p=c[$>>2]|0;if(!p){K=136;break}else{g=g<<1;r=p}}if((K|0)==136)if($>>>0<(c[1425]|0)>>>0)ka();else{c[$>>2]=f;c[f+24>>2]=r;c[f+12>>2]=f;c[f+8>>2]=f;break}else if((K|0)==139){g=r+8|0;p=c[g>>2]|0;e=c[1425]|0;if(p>>>0>=e>>>0&r>>>0>=e>>>0){c[p+12>>2]=f;c[g>>2]=f;c[f+8>>2]=p;c[f+12>>2]=r;c[f+24>>2]=0;break}else ka()}}else{p=S+t|0;c[T+4>>2]=p|3;g=T+p+4|0;c[g>>2]=c[g>>2]|1}while(0);q=T+8|0;l=b;return q|0}else F=t}else F=t}else F=-1;while(0);T=c[1423]|0;if(T>>>0>=F>>>0){S=T-F|0;$=c[1426]|0;if(S>>>0>15){_=$+F|0;c[1426]=_;c[1423]=S;c[_+4>>2]=S|1;c[_+S>>2]=S;c[$+4>>2]=F|3}else{c[1423]=0;c[1426]=0;c[$+4>>2]=T|3;S=$+T+4|0;c[S>>2]=c[S>>2]|1}q=$+8|0;l=b;return q|0}$=c[1424]|0;if($>>>0>F>>>0){S=$-F|0;c[1424]=S;T=c[1427]|0;_=T+F|0;c[1427]=_;c[_+4>>2]=S|1;c[T+4>>2]=F|3;q=T+8|0;l=b;return q|0}if(!(c[1539]|0)){c[1541]=4096;c[1540]=4096;c[1542]=-1;c[1543]=-1;c[1544]=0;c[1532]=0;T=d&-16^1431655768;c[d>>2]=T;c[1539]=T;aa=4096}else aa=c[1541]|0;T=F+48|0;d=F+47|0;S=aa+d|0;_=0-aa|0;aa=S&_;if(aa>>>0<=F>>>0){q=0;l=b;return q|0}X=c[1531]|0;if(X|0?(Z=c[1529]|0,Y=Z+aa|0,Y>>>0<=Z>>>0|Y>>>0>X>>>0):0){q=0;l=b;return q|0}d:do if(!(c[1532]&4)){X=c[1427]|0;e:do if(X){Y=6132;while(1){Z=c[Y>>2]|0;if(Z>>>0<=X>>>0?(ba=Y+4|0,(Z+(c[ba>>2]|0)|0)>>>0>X>>>0):0)break;Z=c[Y+8>>2]|0;if(!Z){K=163;break e}else Y=Z}r=S-$&_;if(r>>>0<2147483647){Z=Vf(r|0)|0;if((Z|0)==((c[Y>>2]|0)+(c[ba>>2]|0)|0))if((Z|0)==(-1|0))ca=r;else{da=Z;ea=r;K=180;break d}else{fa=Z;ga=r;K=171}}else ca=0}else K=163;while(0);do if((K|0)==163){X=Vf(0)|0;if((X|0)!=(-1|0)?(t=X,r=c[1540]|0,Z=r+-1|0,U=((Z&t|0)==0?0:(Z+t&0-r)-t|0)+aa|0,t=c[1529]|0,r=U+t|0,U>>>0>F>>>0&U>>>0<2147483647):0){Z=c[1531]|0;if(Z|0?r>>>0<=t>>>0|r>>>0>Z>>>0:0){ca=0;break}Z=Vf(U|0)|0;if((Z|0)==(X|0)){da=X;ea=U;K=180;break d}else{fa=Z;ga=U;K=171}}else ca=0}while(0);do if((K|0)==171){U=0-ga|0;if(!(T>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=fa;ea=ga;K=180;break d}Z=c[1541]|0;X=d-ga+Z&0-Z;if(X>>>0>=2147483647){da=fa;ea=ga;K=180;break d}if((Vf(X|0)|0)==(-1|0)){Vf(U|0)|0;ca=0;break}else{da=fa;ea=X+ga|0;K=180;break d}}while(0);c[1532]=c[1532]|4;ha=ca;K=178}else{ha=0;K=178}while(0);if(((K|0)==178?aa>>>0<2147483647:0)?(ca=Vf(aa|0)|0,aa=Vf(0)|0,ga=aa-ca|0,fa=ga>>>0>(F+40|0)>>>0,!((ca|0)==(-1|0)|fa^1|ca>>>0<aa>>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ca;ea=fa?ga:ha;K=180}if((K|0)==180){ha=(c[1529]|0)+ea|0;c[1529]=ha;if(ha>>>0>(c[1530]|0)>>>0)c[1530]=ha;ha=c[1427]|0;do if(ha){ga=6132;while(1){ia=c[ga>>2]|0;ja=ga+4|0;la=c[ja>>2]|0;if((da|0)==(ia+la|0)){K=190;break}fa=c[ga+8>>2]|0;if(!fa)break;else ga=fa}if(((K|0)==190?(c[ga+12>>2]&8|0)==0:0)?ha>>>0<da>>>0&ha>>>0>=ia>>>0:0){c[ja>>2]=la+ea;fa=ha+8|0;ca=(fa&7|0)==0?0:0-fa&7;fa=ha+ca|0;aa=(c[1424]|0)+(ea-ca)|0;c[1427]=fa;c[1424]=aa;c[fa+4>>2]=aa|1;c[fa+aa+4>>2]=40;c[1428]=c[1543];break}aa=c[1425]|0;if(da>>>0<aa>>>0){c[1425]=da;ma=da}else ma=aa;aa=da+ea|0;fa=6132;while(1){if((c[fa>>2]|0)==(aa|0)){K=198;break}ca=c[fa+8>>2]|0;if(!ca)break;else fa=ca}if((K|0)==198?(c[fa+12>>2]&8|0)==0:0){c[fa>>2]=da;ga=fa+4|0;c[ga>>2]=(c[ga>>2]|0)+ea;ga=da+8|0;ca=da+((ga&7|0)==0?0:0-ga&7)|0;ga=aa+8|0;d=aa+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+F|0;T=d-ca-F|0;c[ca+4>>2]=F|3;do if((d|0)!=(ha|0)){if((d|0)==(c[1426]|0)){ba=(c[1423]|0)+T|0;c[1423]=ba;c[1426]=ga;c[ga+4>>2]=ba|1;c[ga+ba>>2]=ba;break}ba=c[d+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;f:do if(ba>>>0>=256){S=c[d+24>>2]|0;X=c[d+12>>2]|0;do if((X|0)==(d|0)){U=d+16|0;Z=U+4|0;r=c[Z>>2]|0;if(!r){t=c[U>>2]|0;if(!t){na=0;break}else{oa=t;pa=U}}else{oa=r;pa=Z}while(1){Z=oa+20|0;r=c[Z>>2]|0;if(r|0){oa=r;pa=Z;continue}Z=oa+16|0;r=c[Z>>2]|0;if(!r)break;else{oa=r;pa=Z}}if(pa>>>0<ma>>>0)ka();else{c[pa>>2]=0;na=oa;break}}else{Z=c[d+8>>2]|0;if(Z>>>0<ma>>>0)ka();r=Z+12|0;if((c[r>>2]|0)!=(d|0))ka();U=X+8|0;if((c[U>>2]|0)==(d|0)){c[r>>2]=X;c[U>>2]=Z;na=X;break}else ka()}while(0);if(!S)break;X=c[d+28>>2]|0;Z=5988+(X<<2)|0;do if((d|0)!=(c[Z>>2]|0))if(S>>>0>=(c[1425]|0)>>>0){c[S+16+(((c[S+16>>2]|0)!=(d|0)&1)<<2)>>2]=na;if(!na)break f;else break}else ka();else{c[Z>>2]=na;if(na|0)break;c[1422]=c[1422]&~(1<<X);break f}while(0);X=c[1425]|0;if(na>>>0<X>>>0)ka();c[na+24>>2]=S;Z=d+16|0;U=c[Z>>2]|0;do if(U|0)if(U>>>0<X>>>0)ka();else{c[na+16>>2]=U;c[U+24>>2]=na;break}while(0);U=c[Z+4>>2]|0;if(!U)break;if(U>>>0<(c[1425]|0)>>>0)ka();else{c[na+20>>2]=U;c[U+24>>2]=na;break}}else{U=c[d+8>>2]|0;X=c[d+12>>2]|0;S=5724+($<<1<<2)|0;do if((U|0)!=(S|0)){if(U>>>0<ma>>>0)ka();if((c[U+12>>2]|0)==(d|0))break;ka()}while(0);if((X|0)==(U|0)){c[1421]=c[1421]&~(1<<$);break}do if((X|0)==(S|0))qa=X+8|0;else{if(X>>>0<ma>>>0)ka();Z=X+8|0;if((c[Z>>2]|0)==(d|0)){qa=Z;break}ka()}while(0);c[U+12>>2]=X;c[qa>>2]=U}while(0);ra=d+_|0;sa=_+T|0}else{ra=d;sa=T}$=ra+4|0;c[$>>2]=c[$>>2]&-2;c[ga+4>>2]=sa|1;c[ga+sa>>2]=sa;$=sa>>>3;if(sa>>>0<256){ba=5724+($<<1<<2)|0;Y=c[1421]|0;S=1<<$;do if(!(Y&S)){c[1421]=Y|S;ta=ba+8|0;ua=ba}else{$=ba+8|0;Z=c[$>>2]|0;if(Z>>>0>=(c[1425]|0)>>>0){ta=$;ua=Z;break}ka()}while(0);c[ta>>2]=ga;c[ua+12>>2]=ga;c[ga+8>>2]=ua;c[ga+12>>2]=ba;break}S=sa>>>8;do if(!S)va=0;else{if(sa>>>0>16777215){va=31;break}Y=(S+1048320|0)>>>16&8;_=S<<Y;Z=(_+520192|0)>>>16&4;$=_<<Z;_=($+245760|0)>>>16&2;r=14-(Z|Y|_)+($<<_>>>15)|0;va=sa>>>(r+7|0)&1|r<<1}while(0);S=5988+(va<<2)|0;c[ga+28>>2]=va;ba=ga+16|0;c[ba+4>>2]=0;c[ba>>2]=0;ba=c[1422]|0;r=1<<va;if(!(ba&r)){c[1422]=ba|r;c[S>>2]=ga;c[ga+24>>2]=S;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}r=sa<<((va|0)==31?0:25-(va>>>1)|0);ba=c[S>>2]|0;while(1){if((c[ba+4>>2]&-8|0)==(sa|0)){K=265;break}wa=ba+16+(r>>>31<<2)|0;S=c[wa>>2]|0;if(!S){K=262;break}else{r=r<<1;ba=S}}if((K|0)==262)if(wa>>>0<(c[1425]|0)>>>0)ka();else{c[wa>>2]=ga;c[ga+24>>2]=ba;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((K|0)==265){r=ba+8|0;S=c[r>>2]|0;_=c[1425]|0;if(S>>>0>=_>>>0&ba>>>0>=_>>>0){c[S+12>>2]=ga;c[r>>2]=ga;c[ga+8>>2]=S;c[ga+12>>2]=ba;c[ga+24>>2]=0;break}else ka()}}else{S=(c[1424]|0)+T|0;c[1424]=S;c[1427]=ga;c[ga+4>>2]=S|1}while(0);q=ca+8|0;l=b;return q|0}ga=6132;while(1){T=c[ga>>2]|0;if(T>>>0<=ha>>>0?(xa=T+(c[ga+4>>2]|0)|0,xa>>>0>ha>>>0):0)break;ga=c[ga+8>>2]|0}ga=xa+-47|0;ca=ga+8|0;T=ga+((ca&7|0)==0?0:0-ca&7)|0;ca=ha+16|0;ga=T>>>0<ca>>>0?ha:T;T=ga+8|0;d=da+8|0;aa=(d&7|0)==0?0:0-d&7;d=da+aa|0;fa=ea+-40-aa|0;c[1427]=d;c[1424]=fa;c[d+4>>2]=fa|1;c[d+fa+4>>2]=40;c[1428]=c[1543];fa=ga+4|0;c[fa>>2]=27;c[T>>2]=c[1533];c[T+4>>2]=c[1534];c[T+8>>2]=c[1535];c[T+12>>2]=c[1536];c[1533]=da;c[1534]=ea;c[1536]=0;c[1535]=T;T=ga+24|0;do{d=T;T=T+4|0;c[T>>2]=7}while((d+8|0)>>>0<xa>>>0);if((ga|0)!=(ha|0)){T=ga-ha|0;c[fa>>2]=c[fa>>2]&-2;c[ha+4>>2]=T|1;c[ga>>2]=T;d=T>>>3;if(T>>>0<256){aa=5724+(d<<1<<2)|0;S=c[1421]|0;r=1<<d;if(S&r){d=aa+8|0;_=c[d>>2]|0;if(_>>>0<(c[1425]|0)>>>0)ka();else{ya=d;za=_}}else{c[1421]=S|r;ya=aa+8|0;za=aa}c[ya>>2]=ha;c[za+12>>2]=ha;c[ha+8>>2]=za;c[ha+12>>2]=aa;break}aa=T>>>8;if(aa)if(T>>>0>16777215)Aa=31;else{r=(aa+1048320|0)>>>16&8;S=aa<<r;aa=(S+520192|0)>>>16&4;_=S<<aa;S=(_+245760|0)>>>16&2;d=14-(aa|r|S)+(_<<S>>>15)|0;Aa=T>>>(d+7|0)&1|d<<1}else Aa=0;d=5988+(Aa<<2)|0;c[ha+28>>2]=Aa;c[ha+20>>2]=0;c[ca>>2]=0;S=c[1422]|0;_=1<<Aa;if(!(S&_)){c[1422]=S|_;c[d>>2]=ha;c[ha+24>>2]=d;c[ha+12>>2]=ha;c[ha+8>>2]=ha;break}_=T<<((Aa|0)==31?0:25-(Aa>>>1)|0);S=c[d>>2]|0;while(1){if((c[S+4>>2]&-8|0)==(T|0)){K=292;break}Ba=S+16+(_>>>31<<2)|0;d=c[Ba>>2]|0;if(!d){K=289;break}else{_=_<<1;S=d}}if((K|0)==289)if(Ba>>>0<(c[1425]|0)>>>0)ka();else{c[Ba>>2]=ha;c[ha+24>>2]=S;c[ha+12>>2]=ha;c[ha+8>>2]=ha;break}else if((K|0)==292){_=S+8|0;T=c[_>>2]|0;ca=c[1425]|0;if(T>>>0>=ca>>>0&S>>>0>=ca>>>0){c[T+12>>2]=ha;c[_>>2]=ha;c[ha+8>>2]=T;c[ha+12>>2]=S;c[ha+24>>2]=0;break}else ka()}}}else{T=c[1425]|0;if((T|0)==0|da>>>0<T>>>0)c[1425]=da;c[1533]=da;c[1534]=ea;c[1536]=0;c[1430]=c[1539];c[1429]=-1;T=0;do{_=5724+(T<<1<<2)|0;c[_+12>>2]=_;c[_+8>>2]=_;T=T+1|0}while((T|0)!=32);T=da+8|0;S=(T&7|0)==0?0:0-T&7;T=da+S|0;_=ea+-40-S|0;c[1427]=T;c[1424]=_;c[T+4>>2]=_|1;c[T+_+4>>2]=40;c[1428]=c[1543]}while(0);ea=c[1424]|0;if(ea>>>0>F>>>0){da=ea-F|0;c[1424]=da;ea=c[1427]|0;ha=ea+F|0;c[1427]=ha;c[ha+4>>2]=da|1;c[ea+4>>2]=F|3;q=ea+8|0;l=b;return q|0}}c[(ve()|0)>>2]=12;q=0;l=b;return q|0}function Df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;if(!a)return;b=a+-8|0;d=c[1425]|0;if(b>>>0<d>>>0)ka();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)ka();f=e&-8;g=b+f|0;a:do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)ka();if((i|0)==(c[1426]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=i;o=j;break}c[1423]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;p=5724+(l<<1<<2)|0;if((h|0)!=(p|0)){if(h>>>0<d>>>0)ka();if((c[h+12>>2]|0)!=(i|0))ka()}if((k|0)==(h|0)){c[1421]=c[1421]&~(1<<l);m=i;n=i;o=j;break}if((k|0)!=(p|0)){if(k>>>0<d>>>0)ka();p=k+8|0;if((c[p>>2]|0)==(i|0))q=p;else ka()}else q=k+8|0;c[h+12>>2]=k;c[q>>2]=h;m=i;n=i;o=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){p=i+16|0;l=p+4|0;r=c[l>>2]|0;if(!r){s=c[p>>2]|0;if(!s){t=0;break}else{u=s;v=p}}else{u=r;v=l}while(1){l=u+20|0;r=c[l>>2]|0;if(r|0){u=r;v=l;continue}l=u+16|0;r=c[l>>2]|0;if(!r)break;else{u=r;v=l}}if(v>>>0<d>>>0)ka();else{c[v>>2]=0;t=u;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)ka();r=l+12|0;if((c[r>>2]|0)!=(i|0))ka();p=k+8|0;if((c[p>>2]|0)==(i|0)){c[r>>2]=k;c[p>>2]=l;t=k;break}else ka()}while(0);if(h){k=c[i+28>>2]|0;l=5988+(k<<2)|0;do if((i|0)==(c[l>>2]|0)){c[l>>2]=t;if(!t){c[1422]=c[1422]&~(1<<k);m=i;n=i;o=j;break a}}else if(h>>>0>=(c[1425]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(i|0)&1)<<2)>>2]=t;if(!t){m=i;n=i;o=j;break a}else break}else ka();while(0);k=c[1425]|0;if(t>>>0<k>>>0)ka();c[t+24>>2]=h;l=i+16|0;p=c[l>>2]|0;do if(p|0)if(p>>>0<k>>>0)ka();else{c[t+16>>2]=p;c[p+24>>2]=t;break}while(0);p=c[l+4>>2]|0;if(p)if(p>>>0<(c[1425]|0)>>>0)ka();else{c[t+20>>2]=p;c[p+24>>2]=t;m=i;n=i;o=j;break}else{m=i;n=i;o=j}}else{m=i;n=i;o=j}}else{m=b;n=b;o=f}while(0);if(m>>>0>=g>>>0)ka();f=g+4|0;b=c[f>>2]|0;if(!(b&1))ka();if(!(b&2)){t=c[1426]|0;if((g|0)==(c[1427]|0)){d=(c[1424]|0)+o|0;c[1424]=d;c[1427]=n;c[n+4>>2]=d|1;if((n|0)!=(t|0))return;c[1426]=0;c[1423]=0;return}if((g|0)==(t|0)){t=(c[1423]|0)+o|0;c[1423]=t;c[1426]=m;c[n+4>>2]=t|1;c[m+t>>2]=t;return}t=(b&-8)+o|0;d=b>>>3;b:do if(b>>>0>=256){u=c[g+24>>2]|0;v=c[g+12>>2]|0;do if((v|0)==(g|0)){q=g+16|0;a=q+4|0;e=c[a>>2]|0;if(!e){p=c[q>>2]|0;if(!p){w=0;break}else{x=p;y=q}}else{x=e;y=a}while(1){a=x+20|0;e=c[a>>2]|0;if(e|0){x=e;y=a;continue}a=x+16|0;e=c[a>>2]|0;if(!e)break;else{x=e;y=a}}if(y>>>0<(c[1425]|0)>>>0)ka();else{c[y>>2]=0;w=x;break}}else{a=c[g+8>>2]|0;if(a>>>0<(c[1425]|0)>>>0)ka();e=a+12|0;if((c[e>>2]|0)!=(g|0))ka();q=v+8|0;if((c[q>>2]|0)==(g|0)){c[e>>2]=v;c[q>>2]=a;w=v;break}else ka()}while(0);if(u|0){v=c[g+28>>2]|0;j=5988+(v<<2)|0;do if((g|0)==(c[j>>2]|0)){c[j>>2]=w;if(!w){c[1422]=c[1422]&~(1<<v);break b}}else if(u>>>0>=(c[1425]|0)>>>0){c[u+16+(((c[u+16>>2]|0)!=(g|0)&1)<<2)>>2]=w;if(!w)break b;else break}else ka();while(0);v=c[1425]|0;if(w>>>0<v>>>0)ka();c[w+24>>2]=u;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<v>>>0)ka();else{c[w+16>>2]=i;c[i+24>>2]=w;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[1425]|0)>>>0)ka();else{c[w+20>>2]=i;c[i+24>>2]=w;break}}}else{i=c[g+8>>2]|0;v=c[g+12>>2]|0;u=5724+(d<<1<<2)|0;if((i|0)!=(u|0)){if(i>>>0<(c[1425]|0)>>>0)ka();if((c[i+12>>2]|0)!=(g|0))ka()}if((v|0)==(i|0)){c[1421]=c[1421]&~(1<<d);break}if((v|0)!=(u|0)){if(v>>>0<(c[1425]|0)>>>0)ka();u=v+8|0;if((c[u>>2]|0)==(g|0))z=u;else ka()}else z=v+8|0;c[i+12>>2]=v;c[z>>2]=i}while(0);c[n+4>>2]=t|1;c[m+t>>2]=t;if((n|0)==(c[1426]|0)){c[1423]=t;return}else A=t}else{c[f>>2]=b&-2;c[n+4>>2]=o|1;c[m+o>>2]=o;A=o}o=A>>>3;if(A>>>0<256){m=5724+(o<<1<<2)|0;b=c[1421]|0;f=1<<o;if(b&f){o=m+8|0;t=c[o>>2]|0;if(t>>>0<(c[1425]|0)>>>0)ka();else{B=o;C=t}}else{c[1421]=b|f;B=m+8|0;C=m}c[B>>2]=n;c[C+12>>2]=n;c[n+8>>2]=C;c[n+12>>2]=m;return}m=A>>>8;if(m)if(A>>>0>16777215)D=31;else{C=(m+1048320|0)>>>16&8;B=m<<C;m=(B+520192|0)>>>16&4;f=B<<m;B=(f+245760|0)>>>16&2;b=14-(m|C|B)+(f<<B>>>15)|0;D=A>>>(b+7|0)&1|b<<1}else D=0;b=5988+(D<<2)|0;c[n+28>>2]=D;c[n+20>>2]=0;c[n+16>>2]=0;B=c[1422]|0;f=1<<D;do if(B&f){C=A<<((D|0)==31?0:25-(D>>>1)|0);m=c[b>>2]|0;while(1){if((c[m+4>>2]&-8|0)==(A|0)){E=124;break}F=m+16+(C>>>31<<2)|0;t=c[F>>2]|0;if(!t){E=121;break}else{C=C<<1;m=t}}if((E|0)==121)if(F>>>0<(c[1425]|0)>>>0)ka();else{c[F>>2]=n;c[n+24>>2]=m;c[n+12>>2]=n;c[n+8>>2]=n;break}else if((E|0)==124){C=m+8|0;j=c[C>>2]|0;t=c[1425]|0;if(j>>>0>=t>>>0&m>>>0>=t>>>0){c[j+12>>2]=n;c[C>>2]=n;c[n+8>>2]=j;c[n+12>>2]=m;c[n+24>>2]=0;break}else ka()}}else{c[1422]=B|f;c[b>>2]=n;c[n+24>>2]=b;c[n+12>>2]=n;c[n+8>>2]=n}while(0);n=(c[1429]|0)+-1|0;c[1429]=n;if(!n)G=6140;else return;while(1){n=c[G>>2]|0;if(!n)break;else G=n+8|0}c[1429]=-1;return}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=Cf(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Mf(d|0,0,e|0)|0;return d|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=Cf(b)|0;return d|0}if(b>>>0>4294967231){c[(ve()|0)>>2]=12;d=0;return d|0}e=Gf(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=Cf(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Wf(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;Df(a);d=e;return d|0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[1425]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))ka();j=c[g+4>>2]|0;if(!(j&1))ka();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[1541]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;Hf(l,i);k=a;return k|0}if((g|0)==(c[1427]|0)){i=(c[1424]|0)+f|0;l=i-b|0;m=a+b|0;if(i>>>0<=b>>>0){k=0;return k|0}c[d>>2]=e&1|b|2;c[m+4>>2]=l|1;c[1427]=m;c[1424]=l;k=a;return k|0}if((g|0)==(c[1426]|0)){l=(c[1423]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}m=l-b|0;i=e&1;if(m>>>0>15){n=a+b|0;o=n+m|0;c[d>>2]=i|b|2;c[n+4>>2]=m|1;c[o>>2]=m;p=o+4|0;c[p>>2]=c[p>>2]&-2;q=n;r=m}else{c[d>>2]=i|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;q=0;r=0}c[1423]=r;c[1426]=q;k=a;return k|0}if(j&2|0){k=0;return k|0}q=(j&-8)+f|0;if(q>>>0<b>>>0){k=0;return k|0}f=q-b|0;r=j>>>3;a:do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;n=m+4|0;p=c[n>>2]|0;if(!p){o=c[m>>2]|0;if(!o){s=0;break}else{t=o;u=m}}else{t=p;u=n}while(1){n=t+20|0;p=c[n>>2]|0;if(p|0){t=p;u=n;continue}n=t+16|0;p=c[n>>2]|0;if(!p)break;else{t=p;u=n}}if(u>>>0<h>>>0)ka();else{c[u>>2]=0;s=t;break}}else{n=c[g+8>>2]|0;if(n>>>0<h>>>0)ka();p=n+12|0;if((c[p>>2]|0)!=(g|0))ka();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[p>>2]=l;c[m>>2]=n;s=l;break}else ka()}while(0);if(i|0){l=c[g+28>>2]|0;n=5988+(l<<2)|0;do if((g|0)==(c[n>>2]|0)){c[n>>2]=s;if(!s){c[1422]=c[1422]&~(1<<l);break a}}else if(i>>>0>=(c[1425]|0)>>>0){c[i+16+(((c[i+16>>2]|0)!=(g|0)&1)<<2)>>2]=s;if(!s)break a;else break}else ka();while(0);l=c[1425]|0;if(s>>>0<l>>>0)ka();c[s+24>>2]=i;n=g+16|0;m=c[n>>2]|0;do if(m|0)if(m>>>0<l>>>0)ka();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[n+4>>2]|0;if(m|0)if(m>>>0<(c[1425]|0)>>>0)ka();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=5724+(r<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)ka();if((c[m+12>>2]|0)!=(g|0))ka()}if((l|0)==(m|0)){c[1421]=c[1421]&~(1<<r);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)ka();i=l+8|0;if((c[i>>2]|0)==(g|0))v=i;else ka()}else v=l+8|0;c[m+12>>2]=l;c[v>>2]=m}while(0);v=e&1;if(f>>>0<16){c[d>>2]=q|v|2;e=a+q+4|0;c[e>>2]=c[e>>2]|1;k=a;return k|0}else{e=a+b|0;c[d>>2]=v|b|2;c[e+4>>2]=f|3;b=e+f+4|0;c[b>>2]=c[b>>2]|1;Hf(e,f);k=a;return k|0}return 0}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=a+b|0;e=c[a+4>>2]|0;a:do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[1425]|0;if(g>>>0<i>>>0)ka();if((g|0)==(c[1426]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[1423]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=5724+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)ka();if((c[f+12>>2]|0)!=(g|0))ka()}if((j|0)==(f|0)){c[1421]=c[1421]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)ka();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else ka()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p)break;else{s=p;t=k}}if(t>>>0<i>>>0)ka();else{c[t>>2]=0;r=s;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)ka();p=k+12|0;if((c[p>>2]|0)!=(g|0))ka();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else ka()}while(0);if(f){j=c[g+28>>2]|0;i=5988+(j<<2)|0;do if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[1422]=c[1422]&~(1<<j);l=g;m=h;break a}}else if(f>>>0>=(c[1425]|0)>>>0){c[f+16+(((c[f+16>>2]|0)!=(g|0)&1)<<2)>>2]=r;if(!r){l=g;m=h;break a}else break}else ka();while(0);j=c[1425]|0;if(r>>>0<j>>>0)ka();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)ka();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[1425]|0)>>>0)ka();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[1425]|0;if(d>>>0<b>>>0)ka();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){s=c[1426]|0;if((d|0)==(c[1427]|0)){t=(c[1424]|0)+m|0;c[1424]=t;c[1427]=l;c[l+4>>2]=t|1;if((l|0)!=(s|0))return;c[1426]=0;c[1423]=0;return}if((d|0)==(s|0)){s=(c[1423]|0)+m|0;c[1423]=s;c[1426]=l;c[l+4>>2]=s|1;c[l+s>>2]=s;return}s=(r&-8)+m|0;t=r>>>3;b:do if(r>>>0>=256){o=c[d+24>>2]|0;e=c[d+12>>2]|0;do if((e|0)==(d|0)){k=d+16|0;j=k+4|0;f=c[j>>2]|0;if(!f){n=c[k>>2]|0;if(!n){u=0;break}else{v=n;w=k}}else{v=f;w=j}while(1){j=v+20|0;f=c[j>>2]|0;if(f|0){v=f;w=j;continue}j=v+16|0;f=c[j>>2]|0;if(!f)break;else{v=f;w=j}}if(w>>>0<b>>>0)ka();else{c[w>>2]=0;u=v;break}}else{j=c[d+8>>2]|0;if(j>>>0<b>>>0)ka();f=j+12|0;if((c[f>>2]|0)!=(d|0))ka();k=e+8|0;if((c[k>>2]|0)==(d|0)){c[f>>2]=e;c[k>>2]=j;u=e;break}else ka()}while(0);if(o|0){e=c[d+28>>2]|0;h=5988+(e<<2)|0;do if((d|0)==(c[h>>2]|0)){c[h>>2]=u;if(!u){c[1422]=c[1422]&~(1<<e);break b}}else if(o>>>0>=(c[1425]|0)>>>0){c[o+16+(((c[o+16>>2]|0)!=(d|0)&1)<<2)>>2]=u;if(!u)break b;else break}else ka();while(0);e=c[1425]|0;if(u>>>0<e>>>0)ka();c[u+24>>2]=o;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<e>>>0)ka();else{c[u+16>>2]=g;c[g+24>>2]=u;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[1425]|0)>>>0)ka();else{c[u+20>>2]=g;c[g+24>>2]=u;break}}}else{g=c[d+8>>2]|0;e=c[d+12>>2]|0;o=5724+(t<<1<<2)|0;if((g|0)!=(o|0)){if(g>>>0<b>>>0)ka();if((c[g+12>>2]|0)!=(d|0))ka()}if((e|0)==(g|0)){c[1421]=c[1421]&~(1<<t);break}if((e|0)!=(o|0)){if(e>>>0<b>>>0)ka();o=e+8|0;if((c[o>>2]|0)==(d|0))x=o;else ka()}else x=e+8|0;c[g+12>>2]=e;c[x>>2]=g}while(0);c[l+4>>2]=s|1;c[l+s>>2]=s;if((l|0)==(c[1426]|0)){c[1423]=s;return}else y=s}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;y=m}m=y>>>3;if(y>>>0<256){r=5724+(m<<1<<2)|0;a=c[1421]|0;s=1<<m;if(a&s){m=r+8|0;x=c[m>>2]|0;if(x>>>0<(c[1425]|0)>>>0)ka();else{z=m;A=x}}else{c[1421]=a|s;z=r+8|0;A=r}c[z>>2]=l;c[A+12>>2]=l;c[l+8>>2]=A;c[l+12>>2]=r;return}r=y>>>8;if(r)if(y>>>0>16777215)B=31;else{A=(r+1048320|0)>>>16&8;z=r<<A;r=(z+520192|0)>>>16&4;s=z<<r;z=(s+245760|0)>>>16&2;a=14-(r|A|z)+(s<<z>>>15)|0;B=y>>>(a+7|0)&1|a<<1}else B=0;a=5988+(B<<2)|0;c[l+28>>2]=B;c[l+20>>2]=0;c[l+16>>2]=0;z=c[1422]|0;s=1<<B;if(!(z&s)){c[1422]=z|s;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}s=y<<((B|0)==31?0:25-(B>>>1)|0);B=c[a>>2]|0;while(1){if((c[B+4>>2]&-8|0)==(y|0)){C=121;break}D=B+16+(s>>>31<<2)|0;a=c[D>>2]|0;if(!a){C=118;break}else{s=s<<1;B=a}}if((C|0)==118){if(D>>>0<(c[1425]|0)>>>0)ka();c[D>>2]=l;c[l+24>>2]=B;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((C|0)==121){C=B+8|0;D=c[C>>2]|0;s=c[1425]|0;if(!(D>>>0>=s>>>0&B>>>0>=s>>>0))ka();c[D+12>>2]=l;c[C>>2]=l;c[l+8>>2]=D;c[l+12>>2]=B;c[l+24>>2]=0;return}}function If(){}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (D=e,a-c>>>0|0)|0}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (D=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Mf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=g-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(h|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function Pf(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function Qf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (D=n,o)|0}else{if(!m){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (D=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(V(l|0)|0)-(V(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}r=j-1|0;if(r&j|0){s=(V(j|0)|0)+33-(V(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (D=n,o)|0}else{r=Pf(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (D=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (D=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (D=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Pf(l|0)|0)>>>0);return (D=n,o)|0}r=(V(l|0)|0)-(V(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (D=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (D=n,o)|0}while(0);if(!t){B=x;C=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Lf(b|0,d|0,-1,-1)|0;k=D;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Kf(e|0,k|0,g|0,a|0)|0;i=D;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Kf(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=D;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;F=v;G=0;H=t}t=C;C=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (D=n,o)|0}function Rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Kf(e^a|0,f^b|0,e|0,f|0)|0;b=D;a=g^e;e=h^f;return Kf((Qf(i,b,Kf(g^c|0,h^d|0,g|0,h|0)|0,D,0)|0)^a|0,D^e|0,a|0,e|0)|0}function Sf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qf(a,b,c,d,0)|0}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=S(d,c)|0;f=a>>>16;a=(e>>>16)+(S(d,f)|0)|0;d=b>>>16;b=S(d,c)|0;return (D=(a>>>16)+(S(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Tf(e,a)|0;f=D;return (D=(S(b,a)|0)+(S(d,e)|0)+f|f&0,c|0|0)|0}function Vf(a){a=a|0;var b=0,d=0;a=a+15&-16|0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){_()|0;ja(12);return -1}c[i>>2]=d;if((d|0)>(Z()|0)?(Y()|0)==0:0){ja(12);c[i>>2]=b;return -1}return b|0}function Wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ma(b|0,d|0,e|0)|0;f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Xf(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Wf(b,c,d)|0;return b|0}function Yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;g=f|0;Qf(a,b,d,e,g)|0;l=f;return (D=c[g+4>>2]|0,c[g>>2]|0)|0}function Zf(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function _f(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ta[a&7](b|0,c|0,d|0)|0}function $f(a,b){a=a|0;b=b|0;ua[a&1](b|0)}function ag(a,b){a=a|0;b=b|0;return va[a&15](b|0)|0}function bg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return wa[a&15](b|0,c|0,d|0,e|0)|0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;return xa[a&1](b|0,c|0)|0}function dg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ya[a&31](b|0,c|0,d|0,e|0,f|0)|0}function eg(a,b,c){a=a|0;b=b|0;c=c|0;W(0);return 0}function fg(a){a=a|0;W(1)}function gg(a){a=a|0;W(2);return 0}function hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(3);return 0}function ig(a,b){a=a|0;b=b|0;W(4);return 0}function jg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(5);return 0}

// EMSCRIPTEN_END_FUNCS
var ta=[eg,ze,te,hd,Wd,Xd,se,eg];var ua=[fg,jc];var va=[gg,re,ac,dc,Hc,Jc,yc,xc,Yd,gg,gg,gg,gg,gg,gg,gg];var wa=[hg,Xa,_a,bb,hb,lb,pb,sb,Vd,hg,hg,hg,hg,hg,hg,hg];var xa=[ig,yb];var ya=[jg,Wa,Ya,Za,$a,ab,cb,db,eb,fb,gb,ib,jb,kb,mb,nb,ob,qb,rb,Bb,Eb,Fb,Gb,jg,jg,jg,jg,jg,jg,jg,jg,jg];return{_ogv_demuxer_receive_input:$d,stackSave:Aa,getTempRet0:Fa,___udivdi3:Sf,setThrew:Da,_bitshift64Lshr:Nf,_bitshift64Shl:Of,_ogv_demuxer_keypoint_offset:fe,_ogv_demuxer_process:ae,_bitshift64Ashr:Jf,_llvm_cttz_i32:Pf,_ogv_demuxer_destroy:be,_sbrk:Vf,_ogv_demuxer_media_duration:de,stackAlloc:za,___muldi3:Uf,___uremdi3:Yf,___divdi3:Rf,_i64Subtract:Kf,___udivmoddi4:Qf,setTempRet0:Ea,_i64Add:Lf,_ogv_demuxer_seekable:ee,_ogv_demuxer_media_length:ce,_free:Df,stackRestore:Ba,_llvm_bswap_i32:Zf,___muldsi3:Tf,_ogv_demuxer_seek_to_keypoint:ge,runPostSets:If,establishStackSpace:Ca,_ogv_demuxer_flush:he,_ogv_demuxer_init:Ud,_emscripten_get_global_libc:qe,_malloc:Cf,_memcpy:Wf,_memmove:Xf,_memset:Mf,stackAlloc:za,stackSave:Aa,stackRestore:Ba,establishStackSpace:Ca,setThrew:Da,setTempRet0:Ea,getTempRet0:Fa,dynCall_iiii:_f,dynCall_vi:$f,dynCall_ii:ag,dynCall_iiiii:bg,dynCall_iii:cg,dynCall_iiiiii:dg}})


// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _ogv_demuxer_receive_input=Module["_ogv_demuxer_receive_input"]=asm["_ogv_demuxer_receive_input"];var stackSave=Module["stackSave"]=asm["stackSave"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var setThrew=Module["setThrew"]=asm["setThrew"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _ogv_demuxer_keypoint_offset=Module["_ogv_demuxer_keypoint_offset"]=asm["_ogv_demuxer_keypoint_offset"];var _ogv_demuxer_process=Module["_ogv_demuxer_process"]=asm["_ogv_demuxer_process"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _ogv_demuxer_destroy=Module["_ogv_demuxer_destroy"]=asm["_ogv_demuxer_destroy"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _ogv_demuxer_media_duration=Module["_ogv_demuxer_media_duration"]=asm["_ogv_demuxer_media_duration"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _ogv_demuxer_seekable=Module["_ogv_demuxer_seekable"]=asm["_ogv_demuxer_seekable"];var _ogv_demuxer_media_length=Module["_ogv_demuxer_media_length"]=asm["_ogv_demuxer_media_length"];var _free=Module["_free"]=asm["_free"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _ogv_demuxer_seek_to_keypoint=Module["_ogv_demuxer_seek_to_keypoint"]=asm["_ogv_demuxer_seek_to_keypoint"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _ogv_demuxer_flush=Module["_ogv_demuxer_flush"]=asm["_ogv_demuxer_flush"];var _ogv_demuxer_init=Module["_ogv_demuxer_init"]=asm["_ogv_demuxer_init"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run();var inputBuffer,inputBufferSize;function reallocInputBuffer(size){if(inputBuffer&&inputBufferSize>=size){return inputBuffer}if(inputBuffer){Module._free(inputBuffer)}inputBufferSize=size;inputBuffer=Module._malloc(inputBufferSize);return inputBuffer}var getTimestamp;if(typeof performance==="undefined"||typeof performance.now==="undefined"){getTimestamp=Date.now}else{getTimestamp=performance.now.bind(performance)}function time(func){var start=getTimestamp(),ret;ret=func();var delta=getTimestamp()-start;Module.cpuTime+=delta;return ret}Module.loadedMetadata=false;Module.videoCodec=null;Module.audioCodec=null;Module.duration=NaN;Module.onseek=null;Module.cpuTime=0;Module.audioPackets=[];Object.defineProperty(Module,"hasAudio",{get:(function(){return Module.loadedMetadata&&Module.audioCodec})});Object.defineProperty(Module,"audioReady",{get:(function(){return Module.audioPackets.length>0})});Object.defineProperty(Module,"audioTimestamp",{get:(function(){if(Module.audioPackets.length>0){return Module.audioPackets[0].timestamp}else{return-1}})});Module.videoPackets=[];Object.defineProperty(Module,"hasVideo",{get:(function(){return Module.loadedMetadata&&Module.videoCodec})});Object.defineProperty(Module,"frameReady",{get:(function(){return Module.videoPackets.length>0})});Object.defineProperty(Module,"frameTimestamp",{get:(function(){if(Module.videoPackets.length>0){return Module.videoPackets[0].timestamp}else{return-1}})});Object.defineProperty(Module,"keyframeTimestamp",{get:(function(){if(Module.videoPackets.length>0){return Module.videoPackets[0].keyframeTimestamp}else{return-1}})});Object.defineProperty(Module,"nextKeyframeTimestamp",{get:(function(){for(var i=0;i<Module.videoPackets.length;i++){var packet=Module.videoPackets[i];if(packet.isKeyframe){return packet.timestamp}}return-1})});Object.defineProperty(Module,"processing",{get:function getProcessing(){return false}});Object.defineProperty(Module,"seekable",{get:(function(){return!!Module._ogv_demuxer_seekable()})});Module.init=(function(callback){function finish(){time((function(){Module._ogv_demuxer_init()}));callback()}if(Module.wasmBinary){Module.onRuntimeInitialized=(function(){finish()})}else{finish()}});Module.receiveInput=(function(data,callback){var ret=time((function(){var len=data.byteLength;var buffer=reallocInputBuffer(len);Module.HEAPU8.set(new Uint8Array(data),buffer);Module._ogv_demuxer_receive_input(buffer,len)}));callback()});Module.process=(function(callback){var ret=time((function(){return Module._ogv_demuxer_process()}));callback(!!ret)});Module.dequeueVideoPacket=(function(callback){if(Module.videoPackets.length){var packet=Module.videoPackets.shift().data;callback(packet)}else{callback(null)}});Module.dequeueAudioPacket=(function(callback){if(Module.audioPackets.length){var packet=Module.audioPackets.shift().data;callback(packet)}else{callback(null)}});Module.getKeypointOffset=(function(timeSeconds,callback){var offset=time((function(){return Module._ogv_demuxer_keypoint_offset(timeSeconds*1e3)}));callback(offset)});Module.seekToKeypoint=(function(timeSeconds,callback){var ret=time((function(){return Module._ogv_demuxer_seek_to_keypoint(timeSeconds*1e3)}));if(ret){Module.audioPackets.splice(0,Module.audioPackets.length);Module.videoPackets.splice(0,Module.videoPackets.length)}callback(!!ret)});Module.flush=(function(callback){time((function(){Module.audioPackets.splice(0,Module.audioPackets.length);Module.videoPackets.splice(0,Module.videoPackets.length);Module._ogv_demuxer_flush()}));callback()});Module.close=(function(){});Math.imul=Math_imul_orig





  return OGVDemuxerOgg;
};
})();
